JMenuItem показывает флажок слева, как его отключить?

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

где getMenu() возвращает JPopupMenu,

Спасибо!

Ура,
Шо


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

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

LookAndFeelFactory.installJideExtension(
  LookAndFeelFactory.VSNET_STYLE_WITHOUT_MENU);

2 ответа

Решение

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

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

LookAndFeelFactory.installJideExtension(
  LookAndFeelFactory.VSNET_STYLE_WITHOUT_MENU);

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

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

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

Другие вопросы по тегам