0

プログラムメニューバーに常駐し、JButton がクリックされると JPopupMenu をポップアップするドロップダウンメニューを構築しています。JPopupMenu には、複数の JMenuItems があります。

ただし、すべての JMenuItem の横にチェックボックスが表示されます。次のようになります。

代替テキスト

私はそうすべきではないと思います。そのための明示的な 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);

where をgetMenu()返しますJPopupMenu

ありがとう!

乾杯、


編集:修正しました。問題はJideライブラリにあります。TabbedPanel のカスタム LAF に使用しました。また、ロードされている限り、ポップアップ メニューにも LAF を挿入します。

そのため、ソリューションが設定されすぎて、メニュー スタイルが読み込まれません。

LookAndFeelFactory.installJideExtension(
  LookAndFeelFactory.VSNET_STYLE_WITHOUT_MENU);
4

2 に答える 2

1

@zavie このjide フォーラムのトピックに基づく解決策は、メニューを開始する前に Jide を使用して次のことを行う場合です。

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

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

于 2011-09-11T17:09:27.397 に答える
0

問題はJideライブラリにあります。TabbedPanel のカスタム LAF に使用しました。また、ロードされている限り、ポップアップ メニューにも LAF を挿入します。

そのため、ソリューションが設定されすぎて、メニュー スタイルが読み込まれません。

LookAndFeelFactory.installJideExtension(
  LookAndFeelFactory.VSNET_STYLE_WITHOUT_MENU);
于 2010-10-11T08:48:52.593 に答える