2012-08-17 114 views
5

我對Java不太熟悉,並且無法讓進度條工作。我正在使用Netbeans的內置GUI製造商。目前我的程序將圖像從目錄讀入圖像數組中。顯然這需要一些時間,因此我想要一個簡單的進度條來更新用戶,以知道加載的程度。我已經使用了這些拖放式進度條組件之一。如何在Java中使用進度條(Netbeans GUI)

-I當前可以獲取目錄中的文件數,並且可以計算加載的文件的百分比。 - 文件已成功加載到數組中,但進度條僅在所有文件加載後才更新。我試過重新驗證和重繪,而我循環,但這不起作用 - 我已經嘗試了docs.oracle上的各種教程,但似乎無法得到任何工作。 - 我相信SwingWorker是我應該使用的類,這是正確的嗎?

任何幫助示例或一些建議將不勝感激! 謝謝!

+0

是使用揮杆工。 – 2012-08-17 15:24:47

回答

2

是的,你遇到了所有新的Swing編程人員的陷阱 - 的Event Dispatching Thread

從根本上說,這是Thread任何擺動系統的心臟。是否負責將事件分派給所有的UI組件,並向repaint管理器發出更新UI的請求。

如果您在EDT中執行任何耗時的任務,則會阻止更新UI。

我建議你通過具有讀通過Worker Threads and SwingWorkerConcurrency in Swing開始,因爲我知道你要問,這個答案的讀,它有許多的使用SwingWorker的例子,JTextArea appending problems