我想单击按钮时从GUIinput获取数据
您正在上使用
Thread.sleep(...),
Event Dispatch Thread (EDT)这将阻止GUI响应事件,直到循环完成为止。
不要在EDT上使用Thread.sleep(…)!
有两种常见的解决方案:
- 使用Swing计时器每10秒安排一次事件。
- 使用单独的线程。然后,在此线程中,可以使用Thread.sleep(),因为它不会影响EDT。通常,您将
SwingWorker
每10秒使用一个结果并“发布”。
因此,请查看Swing教程。您将找到有关以下主题:
How to Use Swing Timers
Concurrency in Swing
-将解释有关EDT和SwingWorker的信息。



