我正在测试直接实现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”方法有时可能不会被称为使actionPerformed
没有调用,然后反对如何实现?
提前感谢您的任何帮助。
答案 0 :(得分:3)
这仅仅是因为实现接口的java规则。 ActionListener
界面中包含actionPerformed
方法。因此,任何实现此接口的类都需要提供actionPerformed
的实现。
在此处阅读有关使用ActionListener的更多信息:http://docs.oracle.com/javase/tutorial/uiswing/events/actionlistener.html