gpt4 book ai didi

java - 如何通过单击操作/按钮来停止线程 hibernate ?

转载 作者:行者123 更新时间:2023-12-02 05:53:28 24 4
gpt4 key购买 nike

我目前正在尝试构建一个简单的程序,但尚未涵盖 Action 监听器,目前我正在学习 Swing/GUI。我试图在单击按钮时每隔几秒显示一次各种图像,有点像幻灯片显示。

我遇到的问题是如何真正停止幻灯片放映?我有一个按钮,单击该按钮时我希望能够停止幻灯片放映,但在显示器运行时我无法单击它。我不确定下面的代码是否正确,线程中断只是为了确保程序不会停止/卡住。

   startSlide.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent actionEvent)
{
try{
Thread.sleep(5000);
Thread.interrupted();

}
catch (java.lang.InterruptedException ie){
System.out.println(ie);
}
}
});

最佳答案

不要在事件调度线程的上下文中调用Thread.sleep。这将导致整个 UI 停止,并且在返回之前不会发生新的更新。

相反,请使用 javax.swing.Timer,它允许在指定时间段后设置回调,然后您可以根据需要在该时间段内采取操作。

看看Concurrency in SwingHow to Use Swing Timers了解更多详情...

关于java - 如何通过单击操作/按钮来停止线程 hibernate ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23330737/

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