Java秒表不工作

时间:2015-02-12 23:31:37

标签: stopwatch

我正在制作一个rubik的立方体计时器应用程序,我有一个秒表功能对我来说似乎很好,但只是阻止gui正确地做事。它不允许窗口关闭,也不允许停止按钮工作。当我将while循环的条件更改为:" while(seconds< 10)"然后我的程序等待10秒钟才显示时间并允许我循环。我的猜测是我创建了一个无限循环,因为动作监听器在循环期间无法工作。这是我的代码的一部分:

public class MyStartListener implements ActionListener {
        public void actionPerformed(ActionEvent a) {
            startClock(true);
        }
    }

    public class MyStopListener implements ActionListener {
        public void actionPerformed(ActionEvent a) {
            startClock(false);
        }
    }

    public void startClock(boolean t) {
        boolean play = t;
        int minutes=0;
        int seconds=0;
        long milliSeconds=0;
        while (play==true) {
            try {
                Thread.sleep(1);
            } catch(Exception ex) {
                ex.printStackTrace();
            }

            milliSeconds+=1;
            if (milliSeconds==1000) {
                seconds+=1;
                milliSeconds=0;
            }
            if (seconds==60) {
                minutes+=1;
                seconds=0;
            }
            String counting =minutes+":"+seconds+":"+milliSeconds+"";
            text.setText(counting);
        }
    }
}

0 个答案:

没有答案