我正在构建一个位于程序菜单栏中的下拉菜单,如果点击了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);
其中getMenu()
返回JPopupMenu
。
谢谢!
干杯,
烁
编辑:我已经修好了。问题出在Jide
库上。我用过它
用于TabbedPanel的自定义LAF。并且为弹出菜单注入 LAF
只要它的负载也是如此。
所以解决方案太过于设置不加载菜单样式。
LookAndFeelFactory.installJideExtension(
LookAndFeelFactory.VSNET_STYLE_WITHOUT_MENU);
答案 0 :(得分:1)
@zavie基于此jide forum topic解决方案是,在安装菜单之前使用Jide执行以下操作
LookAndFeelFactory.installDefaultLookAndFeel();
LookAndFeelFactory.installJideExtension();
此外,在Windows 7上,菜单栏的背景颜色与菜单项略有不同,解决方案是使用JideMenu代替JMenu。
答案 1 :(得分:0)
问题出在Jide
库上。我用过它
用于TabbedPanel的自定义LAF。并且为弹出菜单注入 LAF
只要它的负载也是如此。
所以解决方案太过于设置不加载菜单样式。
LookAndFeelFactory.installJideExtension(
LookAndFeelFactory.VSNET_STYLE_WITHOUT_MENU);