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.