当我看到有关ActionListener
的一些信息时,我正在阅读关于摇摆计时器的文档。进一步研究后,我所能找到的是如何创建附加到ActionListener
的{{1}}等。如何创建一个普通的JButton
,而不是附加到任何东西?
我的计时器工作不正常,我认为可能是因为我错误地使用了ActionListener
。
这是我的代码:
ActionListener
答案 0 :(得分:3)
ActionListener
只是interface
您可以通过实施它然后实例化来创建独立版本....
public class MyActionHandler implements ActionListener {
public void actionPerformed(ActionEvent evt) {
// do something...
}
}
将来某个时候......
MyActionHandler handler = new MyActionHandler();
或者你可以创建一个匿名实例....
ActionListener al = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
// do something...
}
};
请查看Interfaces了解详情
答案 1 :(得分:1)
如何创建一个简单的actionlistener,而不是附加到任何东西?
嘲笑:
ActionListener listener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Hello World!");
}
};
// Using the listener with 2 seconds delay
java.swing.Timer timer = new java.swing.Timer(2000, listener);
timer.setRepeats(false);
// Start the timer
timer.start();
试试这个:
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Timer;
public class MyTimer {
ActionListener al = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
System.out.println("testing");
}
};
public MyTimer() {
Timer timer = new Timer(1000, al);
timer.start();
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
new MyTimer();
}
});
}
}