0

直接実装するアプリケーションをテストしていますActionListener

以下のアプリケーションをコンパイルして実行できます。

public class App implements ActionListener {

JButton button;
int count = 0;

public static void main (String[] args)
{
    App gui = new App();
    gui.go();
}

public void go()
{
    button = new JButton("Click me!");
    JFrame frame = new JFrame();
    frame.getContentPane().add(button);
    frame.setSize(500,500);
    frame.setVisible(true);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    button.addActionListener(new ActionListener(){

        public void actionPerformed(ActionEvent event)
        {
            count++;
            button.setText("I've been clicked "+count+" times");
        }
    });

}

}

しかし、エクリプスは

public void actionPerformed(ActionEvent e) {
    // TODO Auto-generated method stub

}

App クラスのメソッドも同様です。これは、「go」メソッドが呼び出されactionPerformedず、呼び出されず、実装方法に反する場合があるためですか? ご協力いただきありがとうございます。

4

1 に答える 1

3

これは単純に、インターフェースを実装するための Java ルールによるものです。ActionListenerインターフェイスにはactionPerformedメソッドがあります。したがって、このインターフェイスを実装するクラスは、 の実装を提供する必要がありますactionPerformed

ActionListener の使用について詳しくは、http://docs.oracle.com/javase/tutorial/uiswing/events/actionlistener.html をご覧ください

于 2013-11-04T09:08:41.600 に答える