【发布时间】:2018-07-30 19:28:38
【问题描述】:
JCheckBoxMenuItem的src代码有如下类头:
public class CheckboxMenuItem extends MenuItem implements ItemSelectable, Accessible
所以当一个类扩展另一个类时,意味着它也应该继承它的类型。或不?
我的问题是我无法将 JCheckBoxMenuItem 添加到 JMenu (它需要添加 MenuItem)。
以下代码对我不起作用:
private void initMenu()
{
menuBar = new JMenuBar();
setJMenuBar(menuBar);
mnFile = new JMenu("File");
menuBar.add(mnFile);
mnAudio = new JMenu("Audio");
menuBar.add(mnAudio);
mnitmQuit = new JMenuItem("Quit");
mnFile.add(mnitmQuit);
rmnitmNoice = new CheckboxMenuItem("Noice");
// Eclipse gives error Message below *
mnAudio.add(rmnitmNoice);
rmnitmNuke = new JRadioButtonMenuItem("Nuke");
// Same here
mnAudio.add(rmnitmNuke);
}
JMenu 类型中的 add(JMenuItem) 方法不适用于 参数(CheckboxMenuItem)
我很确定我以前使用过这个并且没有任何问题。但是自从我开始使用 Marven 后,我有时会出现奇怪的行为(其他示例:@Override 不适用于实现接口的方法)
有相同问题或解决方案的人吗?
【问题讨论】:
-
Swing 组件以“J”开头。我不确定你在用什么。阅读 How to Use Menus 上的 Swing 教程以获取工作示例。
-
“JCheckBoxMenuItem 的 src 代码有以下类头” 不,没有。那不是 javax.swing.JCheckBoxMenuItem,它是 java.awt.CheckboxMenuItem。
-
感谢您的回答。没注意到。
标签: java swing jmenu jmenuitem