使用嵌套的静态类作为Outer类的ActionListener

时间:2012-11-11 04:51:18

标签: java actionlistener static-members nested-class

我希望将嵌套的静态类用作封闭类的GUI元素的actionListener。 我做了这样的事情:

public class OuterClass {

    public static void myImplementation() {
        OuterClass.StartupHandler startupHandler = new OuterClass.StartupHandler();
        exitMenuItem.addActionListener(startupHandler); // error Line
    }

    public static class StartupHandler implements ActionListener {

   @Override
    public void actionPerformed(ActionEvent e) {
        //throw new UnsupportedOperationException("Not supported yet.");

        if (e.getSource() == exitMenuItem) {
            System.exit(1);
        } else if (e.getSource() == helpMenuItem) {
            // show help menu
        }
    }
}
}

但是当我调用此代码时,我在//错误行获得了NullPointerException。 这是做正确的方法吗?或者有些东西我失踪了?

1 个答案:

答案 0 :(得分:0)

exitMenuItem是否已初始化?我打赌它是null

如果您包含更多类(例如您声明exitMenuItem的位置),我们会更容易指出问题。