倒数计时器分钟和秒问题Java

时间:2016-05-08 11:03:01

标签: java user-interface netbeans-8

首先,这不是一个重复的问题。我只是在倒数计时器和东西上遇到麻烦。每当我运行代码时,它就会静止不动并且不按计划进行。

这是代码。我在构造函数中执行此操作。我哪里做错了?提前谢谢。

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);
}

2 个答案:

答案 0 :(得分:0)

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

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

我想它应该是

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

答案 1 :(得分:0)

好的,感谢用户n247s和UğurB分享他的想法,现在我明白了,我将声明转移到另一个新方法然后我将代码更改为if-else外部并且它有效! :d