0

actionListenerネストされた静的クラスを、それを囲むクラスのGUI要素のとして使用したいと思います。私はこのようなことをしました:

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と、//エラー行が表示されます。これはこれを行うための正しい方法ですか、それとも私が行ったことが欠けているものがありますか?

4

1 に答える 1

0

exitMenuItem初期化されていますか?きっとnull

より多くのクラス(宣言した場所などexitMenuItem)を含めると、問題をより簡単に特定できます。

于 2012-11-11T04:54:56.413 に答える