1

有些名称很清楚,例如背景、前景、焦点等。但有些名称只是令人困惑,例如 light、hightlight、shadow、darkshardow 等。我注意到这些名称在 swing UI 中一直使用,所以我推断这些是 java 的一部分行话。有没有人知道那里是否有解释这些名称的文件?

RadioButton.background  
RadioButton.darkShadow  
RadioButton.disabledText    
RadioButton.focus           
RadioButton.foreground  
RadioButton.highlight   
RadioButton.light           
RadioButton.select          
RadioButton.shadow          
4

1 回答 1

5

这些是UIResourceJRadionButton. 每个都Look & Feel提供不同的单选按钮外观,并且可以为这些元素设置不同的默认值。是否使用这些密钥也取决于 L&F 的实施。

例如,这是一个javax.swing.plaf.basic.BasicBorders使用RadioButton.lightand的方法RadioButton.highlight

public static Border getRadioButtonBorder() {
UIDefaults table = UIManager.getLookAndFeelDefaults();
Border radioButtonBorder = new BorderUIResource.CompoundBorderUIResource(
           new BasicBorders.RadioButtonBorder(
                   table.getColor("RadioButton.shadow"),
                                       table.getColor("RadioButton.darkShadow"),
                                       table.getColor("RadioButton.light"),
                                       table.getColor("RadioButton.highlight")),
                     new MarginBorder());
return radioButtonBorder;
}

但是,具体的 L&F 实现可能不会使用它。

PS: @camickr 的UIManager 默认值可以方便地可视化不同的键。

于 2013-03-03T03:17:26.180 回答