gpt4 book ai didi

java - 如何在不延迟界面的情况下延迟 gui 的操作?

转载 作者:行者123 更新时间:2023-11-29 05:29:57 25 4
gpt4 key购买 nike

我正在创建一个闪存卡程序,并希望在弹出问题和回答之间有几秒钟的延迟。我一直在尝试使用 thread.sleep...

question.setText(questionString);

if(timed.isSelected())
{
delay();//uses thread.sleep
}

answer.setText(questionString);

sleep 在问题出现在 gui 上之前执行,因此它会立即重新出现问题和答案。问答只是 JPanel,定时是 JRadioButton。

所以进入实际问题,我是否可以延迟答案的出现,以便它顺利进行?好像我可能在 cmd 提示符中使用了 println。

最佳答案

Thread.sleep 实际上会暂停运行它的线程。当您在事件调度线程上运行时,这可能是危险的,因为您实际上在 sleep 运行时停止了任何 GUI 更新,这样您设置了文本,然后停止 GUI 更新,直到您设置带有答案的文本 - 这个问题可以永远不会被吸引。

对于计时的非阻塞替代方案,请查看 How to use Swing Timers它看着 javax.swing.Timer类(class)。此类允许您指定延迟,以及在该延迟过去后要完成的操作,而无需暂停您的线程。

关于java - 如何在不延迟界面的情况下延迟 gui 的操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21466578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com