我正在制作一个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);
}
}
}