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

}

}

但 Eclipse 想要

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

}

App 类中的方法也是如此。这是因为“go”方法有时可能不会被称为 make actionPerformednot call 然后反对如何实现?提前感谢您的任何帮助。

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 回答