【问题标题】:NullPointerException when trying to use JButton尝试使用 JButton 时出现 NullPointerException
【发布时间】:2016-01-21 09:51:09
【问题描述】:

这是代码:

    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);

我做错了什么? :/

【问题讨论】:

标签: java nullpointerexception jframe jpanel jbutton


【解决方案1】:

您的 addCube 对象显然不为空,因为它已经被初始化,看起来您忘记初始化面板了。

【讨论】:

  • 即使 addCube 为 null ...只要您实际上并未尝试调用其中一个(实例)成员,我怀疑它会引发 NPE
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 2018-09-16
    • 1970-01-01
    • 1970-01-01
    • 2017-08-13
    • 2010-12-11
    • 1970-01-01
    相关资源
    最近更新 更多