2013-09-10 103 views
2

我創建了一個GUI窗口,正在另一個類的主要方法中調用。窗口有一個運行按鈕。只有在點擊運行按鈕之後,控件才應返回主方法。我如何獲得此功能?我應該使用線程嗎?兩個類之間的同步

回答

5

你描述的是一個模式對話框的經典行爲,如JOptionPane:當模態對話框顯示時,調用代碼中的程序流暫停,然後在模態對話框不再可見時返回到調用點。

我建議你看看使用JOptionPane,因爲這通常是獲得此行爲的最簡單方法。請理解,JOptionPanes可以顯示覆雜的GUI,因爲它的showXXX(...)方法的第二個參數是Object類型的,並且可以是一個載有其他JPanel,組件和好東西的JPanel。

例如,請看看代碼從這個問題的答案:How can I make a JFrame modal like a JOptionPane?


編輯
在評論 幽州:

我可以做的JOptionPane從JFrame的?我用三個文件選擇器和3個文本字段和一個運行按鈕做了一個JFrame。我可以從這個JFrame direclty創建一個JOptionPane?

@Alvin:現在你正在學習爲什麼你不應該把你的代碼放在創建JFrames的時候 - 你最終將自己繪製在一個角落裏。我建議你重新做一點代碼,然後創建一個JPanel。然後你可以把它放到一個JOptionPane,一個JDialog或者JFrame或者任何需要的地方。

+0

我可以從JFrame做一個JOptionPane嗎?我用三個文件選擇器和3個文本字段和一個運行按鈕做了一個JFrame。我可以從這個JFrame direclty創建一個JOptionPane? – Alvin

+0

@Alvin:請參閱編輯以回答。 –