这些摇摆颜色的名字是什么意思

时间:2013-03-03 01:26:13

标签: java swing jradiobutton uimanager

有些名字很清晰,比如背景,前景,焦点等等。但有些只是令人困惑,比如光线,高光,阴影,黑暗等等。我注意到这些一直用于摇摆UI,所以我推断这些是java的行话的一部分。有没有人知道是否有文件说明了这些名字?

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

1 个答案:

答案 0 :(得分:5)

这些UIResource元素与JRadionButton相关。每个Look & Feel提供不同的单选按钮外观,并可以为这些元素设置不同的默认值。 L& F实现也可以使用这些密钥。

例如,以下是javax.swing.plaf.basic.BasicBorders使用RadioButton.lightRadioButton.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 Defaults可以方便地显示不同的键。