Swing/PreserveTopLevelSelection のバックアップ(No.1)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/PreserveTopLevelSelection へ行く。
- category: swing folder: PreserveTopLevelSelection title: JMenuBar内のJMenuをキャンセルした場合にその選択状態を維持する tags: [JMenu, JMenuBar, Focus, LookAndFeel] author: aterai pubdate: 2019-06-24T15:54:33+09:00 description: JMenuBar直下のJMenuをキャンセルで閉じた場合にその選択状態を維持するかどうかを設定します。 image: https://drive.google.com/uc?id=1T6g79tQY4xA9kVjE53DiRWGIfHgIQs6p
概要
JMenuBar直下のJMenuをキャンセルで閉じた場合にその選択状態を維持するかどうかを設定します。
Screenshot
Advertisement
サンプルコード
解説
上記のサンプルでは、JMenuBar
直下のJMenu
から開いたJPopupMenu
をESCキー入力でキャンセルして閉じた場合、そのJMenu
の選択状態を維持するかどうかを切り替えてテストできます。
WindowsLookAndFeel
UIManager.getLookAndFeelDefaults().getBoolean("Menu.preserveTopLevelSelection")
の初期値はtrue
JMenuBar
直下のJMenu
から開いたJPopupMenu
をキャンセルで閉じた場合、そのJMenu
の選択状態を維持する- この状態でもう一度キャンセルキー(ESC)を入力すると選択状態はクリアされる
- その他の
LookAndFeel
(MetalLookAndFeel
、NimbusLookAndFeel
など)UIManager.getLookAndFeelDefaults().getBoolean("Menu.preserveTopLevelSelection")
の初期値はfalse
JMenuBar
直下のJMenu
から開いたJPopupMenu
をキャンセルで閉じた場合、そのJMenu
の選択状態はクリアされるUIManager.put("Menu.preserveTopLevelSelection", Boolean.TRUE)
を設定すれば、WindowsLookAndFeel
風にJMenu
の選択状態が維持される