JMenuItemなどのMnemonicの下線を常に表示する
Total: 4046, Today: 1, Yesterday: 1
Posted by aterai at
Last-modified:
Summary
WindowsLookAndFeelを使用する環境でJMenuItemやJButtonなどに設定したMnemonicの下線を常に表示するよう設定します。
Screenshot

Advertisement
Source Code Examples
showMnemonicsCheck.setSelected(UIManager.getBoolean("Button.showMnemonics"));
showMnemonicsCheck.setMnemonic('B');
showMnemonicsCheck.addActionListener(e -> {
UIManager.put("Button.showMnemonics", ((JCheckBox) e.getSource()).isSelected());
if (UIManager.getLookAndFeel() instanceof WindowsLookAndFeel) {
WindowsLookAndFeel.setMnemonicHidden(true);
SwingUtilities.getRoot(showMnemonicsCheck).repaint();
}
});
View in GitHub: Java, KotlinDescription
上記のサンプルでは、JMenuItemに設定したMnemonicの下線表示の切り替えをテストしています。
UIManager.put("Button.showMnemonics", false)WindowsLookAndFeelの場合、Mnemonicの下線が非表示になる- その他の
LookAndFeelではこの設定は無効 - この場合でもAltキーを押すと
WindowsLookAndFeel.setMnemonicHidden(false)となって下線は表示される
- その他の
- デフォルト
- 例えば
Windows 10の場合「コントロール パネル\コンピューターの簡単操作\コンピューターの簡単操作センター\キーボードを使いやすくします」の「ショートカット キーとアクセス キーに下線を表示します」のチェックに対応
- 例えば
WindowsLookAndFeelでチェックボックスで切り替えを行う際、WindowsLookAndFeel.setMnemonicHidden(true)で一旦下線を非表示にしてからJFrame全体を再描画している
UIManager.put("Button.showMnemonics", true)WindowsLookAndFeelの場合でもMnemonicの下線が常に表示状態になる