【问题标题】:JCheckBoxMenuItem cannot be added to Menu无法将 JCheckBoxMenuItem 添加到菜单
【发布时间】: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


【解决方案1】:

正如 VGR 在他的评论中解释的那样:错误是尝试添加 CheckboxMenuItem 而不是 JCheckBoxMenuItem。

【讨论】:

    猜你喜欢
    • 2015-08-22
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    • 2013-10-04
    • 1970-01-01
    • 1970-01-01
    • 2015-09-30
    • 1970-01-01
    相关资源
    最近更新 更多