SwingWorker不在这里。您的代码未在EDT中运行,因此看不到更新。您可以使用SwingUtilities.invokeLater(…)在EDT中执行代码。但是不要在EDT中执行整个while循环,因为这会阻止它,并且不会进行任何更新/事件(重新绘制,Mouseclicks)。这是一个简单的代码示例:
while(true) { SwingUtilities.invokeLater(new Runnable{ public void run() { textfield.setText(....); } }); if(condition) break; }- 有关更多信息,请参见http://java.sun.com/products/jfc/tsc/articles/threads/threads1.html或这本书:http
- //filthyrichclients.org



