我有一個GUI問題,我想要整理出來,但我很困惑,發生了什麼,希望你能解釋它。代碼基地太大,無法上傳,但我會詳細解釋發生了什麼事情:Java GUI JProgressBar沒有繪畫
我有一個類ProgessBar
這是一個JDialog
包含一個搖擺JProgressBar
。我有一些getters和setter來改變酒吧到我的喜好,但這裏出現問題。當用戶點擊該按鈕
ProgressBar將一個方法myButtonActionPerformed
myButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
myButtonActionPerformed(evt);
}
});
基本上內部催生,處理開始並且ProgressBar
被衍生。
用戶當前在它們前面有一個JFrame
,並且此進度條彈出一個JDialog
。在Netbeans中進入調試模式之後,我可以看到JProgressBar
的值發生了變化,但是當我的程序正在處理時,它的視覺保持在0%,然後在離開上面的添加動作偵聽器方法時立即跳到100%,幾乎就好像它正在等待重畫,直到從那個聆聽者那裏出來。我不瞭解什麼?有什麼我可以調用,這將迫使它在這個myButtonActionPerformed
方法內更新,而不是等到它沒用。
非常感謝,這聽起來很合理。我查了一下你給我的一些東西,發現這個鏈接對將來通過這個論壇主題進行查看的任何人都很有用:http://java.sun.com/developer/technicalArticles/javase/swingworker/#EDT – Ryan 2010-07-01 03:20:39
@瑞恩:是的,我應該提到'SwingWorker'。道歉。是的,我想這個鏈接可以讓你在這裏找到正確的方向。 – Joey 2010-07-01 03:31:31