我有一個包含多個按鈕的對話框。當一個特定的按鈕被點擊時,它的ActionListener創建一個需要幾秒鐘才能完成的過程。在此期間,我想向用戶提供一些反饋。爲了採取簡單的方法,我在對話框「計算...」中有一個標籤,它最初不可見。代碼片段看起來是這樣的label.setVisible(true)在處理完成後纔會執行任何操作
button_OpenHoursReport.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
lbl_Computing.setVisible(true);
new runAndRenderReport();
RunAndRenderReport.main(null);
lbl_Computing.setVisible(false);
}
});
的問題是,直到RunAndRenderReport完成lbl_Computing文本不可見。顯然,這對用戶來說沒有太大的幫助。不知道從哪裏走。這是否與線程有關?如果是這樣,我可以使用一些指導如何開始。
謝謝。現在我會立即採用paintImmediately方法,因爲我的GUI可以等待幾秒鐘以完成此過程。我將來需要GUI來響應SwingWorker。 – Paul 2013-02-28 19:33:33
簡而言之,確定性滯後也考慮設置'WAIT_CURSOR'。 – trashgod 2013-02-28 21:57:59