我正在构建一个下拉菜单,该菜单位于程序菜单栏中,如果单击 JButton,则会弹出 JPopupMenu。在 JPopupMenu 中有多个 JMenuItem。
但是,在每个 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
图书馆。我用过
用于 TabbedPanel 的自定义 LAF。它为弹出菜单注入(inject) LAF
只要有负载。
所以解决方案是将其设置为不加载菜单样式。
LookAndFeelFactory.installJideExtension(
LookAndFeelFactory.VSNET_STYLE_WITHOUT_MENU);
最佳答案
@zavie 基于此 jide forum topic解决办法是,使用积德在初始化菜单之前执行以下操作
LookAndFeelFactory.installDefaultLookAndFeel();
LookAndFeelFactory.installJideExtension();
此外,在 Windows 7 上,菜单栏的背景颜色与菜单项的背景颜色略有不同,解决方案是使用 JideMenu 而不是 JMenu。
关于java - JMenuItem 在左侧显示复选框,如何禁用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3656387/