Swing/DisabledAreNavigable のバックアップの現在との差分(No.7)
- category: swing folder: DisabledAreNavigable title: DisabledなJMenuItemのハイライトをテスト tags: [JMenuItem, UIManager, LookAndFeel] author: aterai pubdate: 2013-03-25T00:06:25+09:00 description: DisabledなJMenuItemがハイライト可能かどうかをLookAndFeelごとにテストします。 image:
概要
Disabled
なJMenuItem
がハイライト可能かどうかをLookAndFeel
ごとにテストします。
無効化状態のJMenuItem
がハイライト可能かどうかをLookAndFeel
ごとにテストします。
Screenshot
Advertisement
サンプルコード
#spandel
UIManager.put("MenuItem.disabledAreNavigable", Boolean.TRUE);
#spanend
#spanadd
// UIManager.put("MenuItem.disabledAreNavigable", Boolean.TRUE);
#spanend
#spanadd
String key = "MenuItem.disabledAreNavigable";
#spanend
#spanadd
boolean b = UIManager.getBoolean(key);
#spanend
#spanadd
System.out.println(key + ": " + b);
#spanend
#spanadd
JCheckBox check = new JCheckBox(key, b) {
#spanend
@Override public void updateUI() {
super.updateUI();
setSelected(UIManager.getLookAndFeelDefaults().getBoolean(key));
UIManager.put(key, isSelected());
}
#spanadd
};
#spanend
#spanadd
check.addActionListener(e -> UIManager.put(key, ((JCheckBox) e.getSource()).isSelected()));
#spanend
View in GitHub: Java, Kotlin解説
WindowsLookAndFeel
-
UIManager.getBoolean("MenuItem.disabledAreNavigable")
のデフォルトはtrue
-
UIManager.put("MenuItem.disabledAreNavigable", ...)
で、Disabled
なJMenuItem
のハイライト可・不可を切替できる -
UIManager.getLookAndFeelDefaults().getBoolean("MenuItem.disabledAreNavigable")
の初期値はBoolean.TRUE
-
UIManager.put("MenuItem.disabledAreNavigable", ...)
で無効化(Disabled
)したJMenuItem
をハイライトするかどうかを切り替え可能
-
MetalLookAndFeel
-
UIManager.getBoolean("MenuItem.disabledAreNavigable")
のデフォルトはfalse
-
UIManager.put("MenuItem.disabledAreNavigable", Boolean.TRUE)
を設定すれば、Disabled
なJMenuItem
でもハイライトが可能 -
UIManager.getLookAndFeelDefaults().getBoolean("MenuItem.disabledAreNavigable")
の初期値はBoolean.FALSE
-
UIManager.put("MenuItem.disabledAreNavigable", Boolean.TRUE)
を設定すれば無効化(Disabled
)したJMenuItem
でもハイライトが可能
-
NimbusLookAndFeel
-
UIManager.getBoolean("MenuItem.disabledAreNavigable")
のデフォルトはfalse
-
UIManager.put("MenuItem.disabledAreNavigable", Boolean.TRUE)
を設定しても、Disabled
なJMenuItem
をハイライト不可 -
UIManager.getLookAndFeelDefaults().getBoolean("MenuItem.disabledAreNavigable")
の初期値はBoolean.FALSE
-
UIManager.put("MenuItem.disabledAreNavigable", Boolean.TRUE)
を設定しても無効化(Disabled
)したJMenuItem
のハイライトは不可
-
参考リンク
- JDK-4515765 Win L&F: Disabled menu items should show highlight - Java Bug System
- JDK-6325555 Only Partial Fix in for 4515765 in B53 Swing PIT - Java Bug System
- JDK-4515765 Win L&F: Disabled menu items should show highlight - Java Bug System
- JDK-6325555 Only Partial Fix in for 4515765 in B53 Swing PIT - Java Bug System