Java 如何使用摆动计时器

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

我正试图使用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() {
        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:如果这个答案对你有帮助,你应该记得向上投票(请查看链接)。