尝试使用JButton

时间:2016-01-21 09:51:09

标签: java nullpointerexception jframe jpanel jbutton

这是代码:

    addCube = new JButton("Add Cube");
    addCube.addKeyListener(kl);
    addCube.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent ae) {
            cubes.add(cube);
        }
    });
    panel.add(addCube);
    frame.add(panel, BorderLayout.NORTH);

其中panel是JPanel,frame是JFrame。当我执行代码时,我收到以下错误消息:

  

线程“main”中的异常java.lang.NullPointerException at   cg2k15.CG2K15.main(CG2K15.java:91)

第91行是panel.add(addCube);

我做错了什么? :/

2 个答案:

答案 0 :(得分:1)

你的addCube对象显然不是null,因为它已经初始化,看起来你忘了初始化你的面板。

答案 1 :(得分:0)

谢谢你们。结果是问题是我在主方法下直接做了一切。我读到构造函数不应该初始化静态字段。按钮应该是框架的私有实例字段,主要方法不应该处理它们。在我创建另一个类来处理框架后,它解决了问题! :)