带有JMenu和JMenuBar的java.lang.NullPointerException

时间:2013-07-21 16:41:50

标签: java jmenu

我有一个JMenuBar,它有一个菜单和三个JRadioButtonMenuItems

JMenuBar menuBar;
JMenu menu = new JMenu("Menu");
JRadioButtonMenuItem rbMenuItem;

我宣布:

    menu = new JMenu("A Menu");
   ButtonGroup group = new ButtonGroup();
rbMenuItem = new JRadioButtonMenuItem("A radio button menu item");
rbMenuItem.setSelected(true);

group.add(rbMenuItem);
menu.add(rbMenuItem);
menuBar.add(menu);

我将其设置为菜单栏:

this.setJMenuBar(menuBar);

我运行该文件,它给了我:

Exception in thread "main" java.lang.NullPointerException
    at geometry.tools.main.RectangleFrame.<init>(RectangleFrame.java:47)
    at geometry.tools.main.RectangleFrame.main(RectangleFrame.java:95)
Java Result: 1

第47行是:

menuBar.add(menu);

和第95行是:

 RectangleFrame thr = new RectangleFrame();

中的:

public static void main(String[] args){

    RectangleFrame thr = new RectangleFrame();
}

我真的不明白为什么。我没有指定null的任何值,因此我不明白为什么会出现此错误。

非常感谢。

2 个答案:

答案 0 :(得分:2)

menuBar未初始化

JMenuBar menuBar = new JMenuBar();

答案 1 :(得分:0)

您必须创建菜单栏的实例。

JMenuBar menuBar = new JMenuBar()