倒数计时器分秒问题Java

countdown timer minutes and seconds problems Java

首先,这不是一个重复的问题。我只是在倒数计时器和东西方面遇到了麻烦。每当我 运行 代码时,它只是静态的并且没有按计划进行。

这是代码。我在构造函数中进行。我哪里做错了?提前致谢。

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Timer;

public static int counterSeconds = 0; 
public static int counterMinutes = 10; 
public static Timer timer; 

public Quiz1Start() {
    do {
        Quiz1Start.timer = new Timer(1000, new ActionListener() { 
            public void actionPerformed(ActionEvent e) {
                if(Quiz1Start.counterSeconds == 0) {
                    Quiz1Start.counterSeconds = 60;
                    Quiz1Start.counterSeconds--; 
                    Quiz1Start.counterMinutes--;

                    Quiz1Start.jLabelMinute.setText(String.valueOf(counterMinutes)); 
                    Quiz1Start.jLabelSeconds.setText(String.valueOf(counterSeconds));                         
                } else if(Quiz1Start.counterMinutes == 0) {
                    Quiz1Start.timer.stop(); 
                }
            }
        });
        timer.start();
    } while(counterMinutes == 0);
}

检查这部分 - while(counterMinutes==0);

您定义了|counterMinutes|为10。循环不会在第一轮之后进行。

我想应该是

do {
...
} while(counterMinutes!=0)

好的,感谢用户 n247s 和 Uğur B 分享他的想法,现在我明白了,我将声明移到另一个新方法中,然后我将代码更改到 if-else 之外并且成功了! :D