JCheckBoxとJRadioButtonのチェックアイコン背景色を変更する
Total: 162
, Today: 1
, Yesterday: 1
Posted by aterai at
Last-modified:
概要
JCheckBox
とJRadioButton
のチェックアイコン内部の描画に使用するインテリア背景色などを変更します。
Screenshot
Advertisement
サンプルコード
try {
UIManager.setLookAndFeel(
"com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel");
} catch (Exception ignored) {
Toolkit.getDefaultToolkit().beep();
}
// System.setProperty("swing.noxp", "true");
UIManager.put("CheckBox.foreground", Color.RED);
UIManager.put("CheckBox.background", Color.GREEN);
UIManager.put("CheckBox.interiorBackground", Color.BLUE);
UIManager.put("RadioButton.foreground", Color.RED);
UIManager.put("RadioButton.background", Color.GREEN);
UIManager.put("RadioButton.interiorBackground", Color.BLUE);
View in GitHub: Java, Kotlin解説
CheckBox.interiorBackground
、RadioButton.interiorBackground
:BLUE
JCheckBox
とJRadioButton
のチェックアイコン内部のButtonModel#isPressed()
でない、かつButtonModel#isArmed()
でない状態の背景色WindowsClassicLookAndFeel
でのみ有効CheckBoxMenuItem.interiorBackground
、RadioButtonMenuItem.interiorBackground
は存在せず無効
CheckBox.background
、RadioButton.background
:GREEN
JCheckBox
とJRadioButton
のラベル背景色- このサンプルでは
JCheckBox#setOpaque(false)
を設定してラベルの背景を描画しないよう設定している
- このサンプルでは
WindowsClassicLookAndFeel
の場合、ButtonModel#isPressed()
、かつButtonModel#isArmed()
状態のチェックアイコン内部の背景色も共有している
CheckBox.foreground
、RadioButton.foreground
:RED
JCheckBox
とJRadioButton
のラベル文字色WindowsClassicLookAndFeel
の場合、チェックアイコンのチェックマーク色も共有しているMotifLookAndFeel
の場合、JCheckBox
のチェックマーク色のみ変更可能で、JRadioButton
のチェックマーク色は変更不可