我正在构建一个下拉菜单,该菜单位于程序菜单栏中,如果单击jbutton,则会弹出jpopupmenu。在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() 返回a JPopupMenu.

谢谢!

干杯,
Shuo


编辑: 我已经修复了。问题已经开始 Jide 图书馆。我已将其用于定制的TabBedpanel。和它 注入 LAF对于弹出菜单的LAF也只要负载即可。

因此解决方案太过设置为 加载菜单样式。

LookAndFeelFactory.installJideExtension(
  LookAndFeelFactory.VSNET_STYLE_WITHOUT_MENU);
有帮助吗?

解决方案 2

问题已经开始 Jide 图书馆。我已将其用于定制的TabBedpanel。和它 注入 LAF对于弹出菜单的LAF也只要负载即可。

因此解决方案太过设置为 加载菜单样式。

LookAndFeelFactory.installJideExtension(
  LookAndFeelFactory.VSNET_STYLE_WITHOUT_MENU);

其他提示

@zavie基于此 吉德论坛主题 解决方案是,在使用jide进行以下操作之前,请先进行以下操作

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

此外,在Windows 7上,菜单栏的背景颜色与菜单项的背景颜色略有不同,解决方案是使用Jidemenu而不是Jmenu。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top