1
我的Java應用程序的工作流程後:搖擺:更改到一個JFrame一個又一個面板長時間運行的方法調用
- 獲得輸入關鍵字,然後將其轉化爲一個查詢,以HTTP POST
- 新一Jframe,女巫顯示了一些詞,如「關鍵字處理......請等待」。
- 在[1]中執行POST,可能需要很多分鐘。
- POST後返回結果,提取我需要的數據。
- 顯示在JFrame中的數據,它取代在內容[2]
我首先嚐試代碼Jframe的構造方法的流程邏輯。 但框架將掛在HTTP POST階段,並沒有顯示[2]中的單詞。 POST完成後,直接顯示[5]中的數據。
原因跳躍舞臺[2],用戶可能認爲過程阻塞意味着錯誤,它不做搜索工作。
現在我在階段[2]中添加一個JOptionPane.showMessageDialog。它會停止該過程,因爲需要用鼠標單擊對話框中的「確定」按鈕。 在那一刻,框架中的面板顯示「關鍵字處理...請等待」。
我想知道爲什麼MessageDialog的停止點可以繪製舊面板,這意味着[2]中的單詞。 如revalidate()或repaint()不要繪製舊面板。
非常感謝! [Swing中的併發](https://docs.oracle.com/javase/tutorial/uiswing/concurrency/)對我來說真的很有幫助! – Yshuan 2015-02-25 00:41:13