2015-07-20 33 views
-1

如何創建一個彈出窗口/模態對話框?與一個不確定的進度運行時創建不確定的JProgressBar彈出/模態對話框

我甚不容管理創建isn't運行所有的時間在一個簡單的窗口一個不確定的進度......

這就是最好的結果從來就走到這一步:

JProgressBar progressBar = new JProgressBar(); 
panel_3.add(progressBar); 
+3

https://docs.oracle.com/javase/tutorial/uiswing/components/progress.html –

+1

啓動您的長時間運行的任務在一個新的線程,這樣不這項工作?你也應該設置中間值爲true。 –

+0

爲了儘快提供更好的幫助,請發佈[MCVE](http://stackoverflow.com/help/mcve)(最小完整可驗證示例)或[SSCCE](http://www.sscce.org/)(Short,Self包含,正確示例)。除了@FastSnail的建議之外,看到進度條的常見問題是'阻止EDT'。它通常在SO上提及。 –

回答

0

對於這樣一個模糊的問題,我只能給出一些指導方針作爲答案。

JProgressBar有一個方法setIndeterminate(Boolean);,您可以使用。

您現在面臨的進度條更大的問題是能夠看到進度動畫在進度條顯示時進行的長時間運行必須在非gui線程中運行。我將不得不引用你閱讀關於Concurrency in Swing

的模態對話框與進度都

  1. 的基本步驟創建一個JDialog
  2. 設置了模式(讀的JDialog API)
  3. 給它一個Layout
  4. 插入進度爲是或者在內部,例如JPanel,其具有合適的LayoutHere是你的選擇。
  5. SwingWorker或別的東西