我試圖更新我的Java Swing表單中的for。我嘗試了很多方法,但沒有奏效。這是我最後一次嘗試:Swing,更新文本框的值爲
for(int i=0; i<10; i++) {
jTextField1.setText("" + i);
try {
Thread.sleep(500);
}
catch (InterruptedException ex) {
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
}
}
不要堵塞EDT(事件指派線程) - 的圖形用戶界面將 '凍結' 當這種情況發生。而不是調用'Thread.sleep(n)'實現一個Swing'Timer'來重複執行任務,或者一個'SwingWorker'執行長時間運行的任務。有關更多詳細信息,請參見[Swing中的併發](http://docs.oracle.com/javase/tutorial/uiswing/concurrency/)。 – 2013-05-06 17:35:31
可能的重複[如何每次更新jLabel帶有延遲的while循環](http://stackoverflow.com/questions/7251675/how-to-update-a-jlabel-every-time-with-a -with-delay-while-loop-with-a-delay)(和許多其他類似問題) – 2013-05-06 17:39:09
感謝您的回覆。我會看看我能用Timer做些什麼。問題是我在一個循環中進行數學計算,所以我不知道如何用Timer來實現。 – SpartakusMd 2013-05-06 17:46:36