我想在单击按钮时从GUIinput获取数据,我编写此代码以获取数据,然后进入无限循环
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { while(true){ try { Thread.sleep(10000); } catch (InterruptedException ex) { Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex); } System.out.println("hello"); System.out.println(name.getText()); }
我想单击按钮时从GUIinput获取数据
您正在上使用Thread.sleep(...),Event Dispatch Thread (EDT)这将阻止GUI响应事件,直到循环完成为止。
Thread.sleep(...)
Event Dispatch Thread (EDT)
不要在EDT上使用Thread.sleep(…)!
有两种常见的解决方案:
SwingWorker
因此,请查看Swing教程。您将找到有关以下主题:
How to Use Swing Timers
Concurrency in Swing