Swing/DisabledAreNavigable の変更点
- 追加された行はこの色です。
- 削除された行はこの色です。
- Swing/DisabledAreNavigable へ行く。
- Swing/DisabledAreNavigable の差分を削除
--- 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: https://lh4.googleusercontent.com/--XCIC-Dhgwk/UU8M_ixmZeI/AAAAAAAABoU/aXonTNvOs0A/s800/DisabledAreNavigable.png --- * 概要 [#summary] 無効化状態の`JMenuItem`がハイライト可能かどうかを`LookAndFeel`ごとにテストします。 #download(https://lh4.googleusercontent.com/--XCIC-Dhgwk/UU8M_ixmZeI/AAAAAAAABoU/aXonTNvOs0A/s800/DisabledAreNavigable.png) * サンプルコード [#sourcecode] #code(link){{ // UIManager.put("MenuItem.disabledAreNavigable", Boolean.TRUE); String key = "MenuItem.disabledAreNavigable"; boolean b = UIManager.getBoolean(key); System.out.println(key + ": " + b); JCheckBox check = new JCheckBox(key, b) { @Override public void updateUI() { super.updateUI(); setSelected(UIManager.getLookAndFeelDefaults().getBoolean(key)); UIManager.put(key, isSelected()); } }; check.addActionListener(e -> UIManager.put(key, ((JCheckBox) e.getSource()).isSelected())); check.addActionListener(e -> UIManager.put(key, ((JCheckBox) e.getSource()).isSelected())); }} * 解説 [#explanation] - `WindowsLookAndFeel` -- `UIManager.getLookAndFeelDefaults().getBoolean("MenuItem.disabledAreNavigable")`の初期値は`Boolean.TRUE` -- `UIManager.put("MenuItem.disabledAreNavigable", ...)`で無効化(`Disabled`)した`JMenuItem`をハイライトするかどうかを切り替え可能 - `MetalLookAndFeel` -- `UIManager.getLookAndFeelDefaults().getBoolean("MenuItem.disabledAreNavigable")`の初期値は`Boolean.FALSE` -- `UIManager.put("MenuItem.disabledAreNavigable", Boolean.TRUE)`を設定すれば無効化(`Disabled`)した`JMenuItem`でもハイライトが可能 - `NimbusLookAndFeel` -- `UIManager.getLookAndFeelDefaults().getBoolean("MenuItem.disabledAreNavigable")`の初期値は`Boolean.FALSE` -- `UIManager.put("MenuItem.disabledAreNavigable", Boolean.TRUE)`を設定しても無効化(`Disabled`)した`JMenuItem`のハイライトは不可 * 参考リンク [#reference] - [https://bugs.openjdk.org/browse/JDK-4515765 JDK-4515765 Win L&F: Disabled menu items should show highlight - Java Bug System] - [https://bugs.openjdk.org/browse/JDK-6325555 JDK-6325555 Only Partial Fix in for 4515765 in B53 Swing PIT - Java Bug System] * コメント [#comment] #comment #comment