1
4
好吧,我花了一段时间才找到这个。 简言之,它们似乎没有标准化(很多),也没有文档化(很多)。 类的lookandfeel是关键。这是层次结构:
在basicLookandFeel类中,可以找到操作和键绑定的默认映射,这些映射将由所有其他类继承。所以你可以认为这个班是 标准 . 您可以在创建对象“默认值”时看到,对于Java 1.4.2y17来说,类似于498。 可以在实现程序(如WindowsLookandFeel)上找到其他键绑定和覆盖。 一些 标准化 可以在defaulteditorkit类中找到静态字段的名称。这些似乎是安全的使用和重新映射。它们的用法可以在windowslookandfeel和motiflookandfeel类中看到。假设这些行为保持不变,我会感到安全。 因此,简而言之,defaulteditorkit中定义的操作不太可能更改。但是,键绑定在L&F实现之间完全改变。使用defaulteditorkit.something从映射中检索操作,它应该跨版本工作。可以与JSlider一起使用的defaulteditoraction示例:
|
2
3
这样,您的修改将覆盖并扩展现有映射。
[编辑]我不知道任何地方都有所有键的列表。但像
因此,如果需要替换某个映射,请使用上面的方法。这样,您就可以保留L&F的所有现有映射(即使您出错,也可以保持组件可用)。如果您依赖于覆盖某个密钥,那么我建议检查该密钥是否存在,并在它突然消失时抛出一个错误。 这样,您的代码就可以工作(可能会工作很多年),如果它中断了,它就会主动地告诉您有关更改的信息。 |