プログラムメニューバーに常駐し、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);