JMenuItemにToolTipテキストを設定する
Total: 545
, Today: 1
, Yesterday: 0
Posted by aterai at
Last-modified:
概要
JMenuItem
やJMenu
、JCheckBoxMenuItem
などのMenuElement
にToolTip
テキストを設定します。
Screenshot
Advertisement
サンプルコード
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;
}
View in GitHub: Java, Kotlin解説
ToolTip
テキストを設定したJMenu(Default)
:JMenu
をクリックするまでJPopupMenu
が表示されないMotifLookAndFeel
以外ではJMenu
のJPopupMenu
表示のタイミングによってその背後にJToolTip
が表示される場合がある
JMenu#getToolTipText()
をオーバーライドしたJMenu
:JMenu#getToolTipText()
をオーバーライドしてJMenu
のJPopupMenu
が表示されている場合はToolTip
テキストを表示しないよう設定- 別メニューの
ToolTip
テキストが表示されている状態でこのJMenu
上にマウスカーソルを移動するとJPopupMenu
とJToolTip
の両方が表示状態になる場合がある