jmenuitemは左側のチェックボックスを表示します、それを無効にする方法は?

StackOverflow https://stackoverflow.com/questions/3656387

質問

プログラムメニューバーにあるドロップダウンメニューを構築し、JButtonがクリックされた場合にJPopupMenuをポップアップします。 jpopupmenuには複数のjmenuitemsがあります。

ただし、すべてのjmenuitemのほかに、チェックボックスが表示されます!これは次のようになります:

alt text

私はそれがすべきではないと思うし、そのために明示的なjcheckboxmenuitemがある。

Jmenuitemにチェックボックスが表示される理由を知っていますか?それを無効 /削除するにはどうすればよいですか?

コード

ImageIcon icon = ViewUtilities.createIcon("resource/gui/mainMenu.png", _buttonLength);
setIcon(icon);

JMenuItem menuItem = new JMenuItem("New Whiteboard");
menuItem.addActionListener(new NewWhiteboardActionListener());
getMenu().add(menuItem);

menuItem = new JMenuItem("Open...");
menuItem.addActionListener(new OpenFileActionListener());
getMenu().add(menuItem);

menuItem = new JMenuItem("Preferences...");
menuItem.addActionListener(new PreferencesActionListener());
getMenu().addSeparator();
getMenu().add(menuItem);

menuItem = new JMenuItem("Exit");
menuItem.addActionListener(new ExitActionListener());
getMenu().addSeparator();
getMenu().add(menuItem);

どこ getMenu() 返品a JPopupMenu.

ありがとう!

乾杯、
shuo


編集: 私はそれを修正しました。問題は続いています Jide 図書館。 TabbedpanelのカスタムLAFに使用しました。そしてそれ 注入 ポップアップメニューのLAFも負荷である限り。

そのため、ソリューションが設定されています しないでください メニュースタイルをロードします。

LookAndFeelFactory.installJideExtension(
  LookAndFeelFactory.VSNET_STYLE_WITHOUT_MENU);
役に立ちましたか?

解決 2

問題は続いています Jide 図書館。 TabbedpanelのカスタムLAFに使用しました。そしてそれ 注入 ポップアップメニューのLAFも負荷である限り。

そのため、ソリューションが設定されています しないでください メニュースタイルをロードします。

LookAndFeelFactory.installJideExtension(
  LookAndFeelFactory.VSNET_STYLE_WITHOUT_MENU);

他のヒント

これに基づいた@Zavie Jide Forumトピック 解決策は、メニューを設置する前に、Jideを使用して以下を実行する場合です

LookAndFeelFactory.installDefaultLookAndFeel();
LookAndFeelFactory.installJideExtension();

さらに、Windows 7では、メニューバーはメニュー項目とはわずかに異なる背景色になります。解決策は、Jmenuの代わりにJidemenuを使用することです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top