Java 如何使用摆动计时器
我正试图使用Swing定时器停止程序一秒钟Java 如何使用摆动计时器,java,swing,timer,jbutton,Java,Swing,Timer,Jbutton,我正试图使用Swing定时器停止程序一秒钟 Timer timer = new Timer(10000, new ActionListener(public void actionPerformed(ActionEvent e) {})); 没用 public class Card extends JButton implements ActionListener { int numberClick = 0; public card() { addAc
Timer timer = new Timer(10000,
new ActionListener(public void actionPerformed(ActionEvent e) {}));
没用
public class Card extends JButton implements ActionListener {
int numberClick = 0;
public card() {
addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
numberClick++;
if(numberClick == 2) {
Timer timer = new Timer(10000, );
timer.start();
numberClick = 0;
}
}
}
你似乎对计时器的工作原理缺乏基本的了解。请阅读。这个概念相当简单
计时器
构造函数中的第一个参数是延迟
。看来你把那部分搞定了。第二个参数是侦听“计时器事件”(实际上是ActionEvents)的ActionListener
。每延迟一次都会触发一个事件。回调(actionPerformed
)包含延迟(勾选)后应执行的操作。因此,无论你想在那一秒之后发生什么,都要将它放在计时器的ActionListener
的actionPerformed
中
另外,如果您只希望它不会发生一次,那么应该调用timer.setRepeats(false)代码>。还要注意,您使用的是10000
,单位为毫秒,因此它是10秒,而不是1秒。您应该将其更改为1000
示例流
JButton button = new JButton("Press Me");
button.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
Timer timer = new Timer(1000, new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Print after one second");
}
});
timer.setRepeats(false);
timer.start();
}
});
按下按钮→ 等一下→ 打印对账单
@ForJava:如果这个答案对你有帮助,你应该记得向上投票(请查看链接)。