JMenuItem показывает флажок слева, как его отключить? - PullRequest
0 голосов
/ 07 сентября 2010

Я создаю раскрывающееся меню, которое находится в строке меню программы и вызывает JPopupMenu, если нажать кнопку JButton. В 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() возвращает JPopupMenu.

Спасибо!

Приветствия
Шо


Редактировать: Я исправил это. Проблема в библиотеке Jide. Я использовал это для пользовательских LAF TabbedPanel. И это вводит LAF для всплывающих меню слишком долго, пока это груз.

Таким образом, решение слишком установлено на не загружать стили меню.

LookAndFeelFactory.installJideExtension(
  LookAndFeelFactory.VSNET_STYLE_WITHOUT_MENU);

Ответы [ 2 ]

1 голос
/ 11 сентября 2011

@ zavie Основываясь на этой теме форума jide , решение заключается в том, чтобы при использовании Jide выполнить следующие действия перед установкой меню

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

Кроме того, в Windows 7 строка менюбудет иметь немного другой цвет фона, чем пункты меню, решение состоит в том, чтобы использовать JideMenu вместо JMenu.

0 голосов
/ 11 октября 2010

Проблема в библиотеке Jide.Я использовал его для пользовательского LAF TabbedPanel.И он вводит LAF для всплывающих меню слишком долго, пока он загружен.

Так что решение слишком установлено на не загружать стили меню.

...