我正在阅读有关该主题的不同主题,这些主题建议使用Swing Timer 类或SwingUtilities.InvokeLater
......但我很难绕过他们。
我使用atomicInteger创建倒数计时器,它在控制台中运行良好。但是,当我尝试将它合并到 Swing 中时,它只会更新开始和结束值(例如,设置 5 秒倒计时将显示在框架中:“5”-> 5 秒后->“0”。
有什么简单的方法可以让我保持和“刷新”我的 atomicInteger 倒计时标签,还是唯一的方法是使用 Swing Timer 类?
感谢您的耐心等待!
附言。不是作业,只是想让自己成为一个自定义的计时器来学习。(即拖延)
我希望这节课就足够了,如果您还需要框架/面板代码,请告诉我。
private class ClickListener implements ActionListener{
public void actionPerformed(ActionEvent e){
int t_study = 5;
atomicDown.set(t_study);
if (e.getSource() == b_study){
while(atomicDown.get() > 0){
t_study = atomicDown.decrementAndGet();
l_studyTime.setText(Integer.toString(t_study));
try {
Thread.sleep(1000);
}
catch (InterruptedException e1) {
System.out.println("ERROR: Thread.sleep()");
e1.printStackTrace();
}
}
}
else if(e.getSource() == b_exit){
System.exit(0);
}
else
System.out.println("ERROR: button troll");
}
}