Swing/MenuItemToolTipText の変更点
- 追加された行はこの色です。
- 削除された行はこの色です。
- Swing/MenuItemToolTipText へ行く。
- Swing/MenuItemToolTipText の差分を削除
--- category: swing folder: MenuItemToolTipText title: JMenuItemにToolTipテキストを設定する tags: [JToolTip, JMenuItem, JMenu, JCheckBoxMenuItem, JRadioButtonMenuItem, JMenuBar, LookAndFeel] author: aterai pubdate: 2023-06-26T02:57:21+09:00 description: JMenuItemやJMenu、JCheckBoxMenuItemなどのMenuElementにToolTipテキストを設定します。 image: https://drive.google.com/uc?id=1bQbmZoUzxYPFYxgUeEql4ont7_e_w2o5 --- * 概要 [#summary] `JMenuItem`や`JMenu`、`JCheckBoxMenuItem`などの`MenuElement`に`ToolTip`テキストを設定します。 #download(https://drive.google.com/uc?id=1bQbmZoUzxYPFYxgUeEql4ont7_e_w2o5) * サンプルコード [#sourcecode] #code(link){{ private static JMenuBar createMenuBar() { JMenu menu = new JMenu("File"); menu.setToolTipText("File JMenu ToolTipText"); menu.add("JMenuItem").setToolTipText("JMenuItem ToolTipText"); JMenu sub1 = new JMenu("JMenu(Default)"); sub1.setToolTipText("JMenu Default ToolTipText"); sub1.add("JMenuItem1").setToolTipText("JMenuItem1 ToolTipText"); sub1.add("JMenuItem2").setToolTipText("JMenuItem2 ToolTipText"); menu.add(sub1); JMenu sub2 = new JMenu("JMenu()") { @Override public String getToolTipText() { return getPopupMenu().isVisible() ? null : super.getToolTipText(); } }; sub2.setToolTipText("JMenu ToolTipText"); sub2.add("JMenuItem1").setToolTipText("JMenuItem1 ToolTipText"); sub2.add("JMenuItem2").setToolTipText("JMenuItem2 ToolTipText"); menu.add(sub2); JMenuItem item2 = new JCheckBoxMenuItem("JCheckBoxMenuItem", true); item2.setToolTipText("JCheckBoxMenuItem ToolTipText"); menu.add(item2); JMenuItem item3 = new JRadioButtonMenuItem("JRadioButtonMenuItem", true); item3.setToolTipText("JRadioButtonMenuItem ToolTipText"); menu.add(item3); JMenuBar mb = new JMenuBar(); mb.setToolTipText("JMenuBar ToolTipText"); mb.add(menu); mb.add(LookAndFeelUtils.createLookAndFeelMenu()); return mb; } }} * 解説 [#explanation] - `JMenuItem`、`JCheckBoxMenuItem`、`JRadioButtonMenuItem`、`JMenuBar` -- `JComponent#setToolTipText(...)`で`ToolTip`テキストを設定可能 - `JMenu` -- `JComponent#setToolTipText(...)`で`ToolTip`テキストを設定可能 -- `JMenu(Default)`: `JMenu`をクリックするまで`JPopupMenu`が表示されない`MotifLookAndFeel`以外では`JMenu`の`JPopupMenu`表示のタイミングによってその背後に`JToolTip`が表示される場合がある -- `JMenu#getToolTipText()`: `JMenu#getToolTipText()`をオーバーライドして`JMenu`の`JPopupMenu`が表示されている場合は`ToolTip`テキストを表示しないよう設定 --- 別メニューの`ToolTip`テキストが表示されている状態でこの`JMenu`上にマウスカーソルを移動すると`JPopupMenu`と`JToolTip`の両方が表示状態になる場合がある - `ToolTip`テキストを設定した`JMenu(Default)`: -- `JMenu`をクリックするまで`JPopupMenu`が表示されない`MotifLookAndFeel`以外では`JMenu`の`JPopupMenu`表示のタイミングによってその背後に`JToolTip`が表示される場合がある - `JMenu#getToolTipText()`をオーバーライドした`JMenu`: -- `JMenu#getToolTipText()`をオーバーライドして`JMenu`の`JPopupMenu`が表示されている場合は`ToolTip`テキストを表示しないよう設定 -- 別メニューの`ToolTip`テキストが表示されている状態でこの`JMenu`上にマウスカーソルを移動すると`JPopupMenu`と`JToolTip`の両方が表示状態になる場合がある * 参考リンク [#reference] - [[JMenuの領域内にマウスカーソルでポップアップメニューを表示する>Swing/PopupWithoutClickOnMenu]] * コメント [#comment] #comment #comment