2017-06-19 29 views
1

我在Swing中開發了一個GUI。 GUI的構造函數由另一個包含Java包的主函數的Java類調用。保持Java程序的流程

用例是在GUI打開之後,應該停止Java類文件的流動,直到通過單擊「Finish」按鈕關閉框架爲止,因爲UI的輸出是一個由Strings所使用的Strings列表稍後運行。

我嘗試使用invokeAndWait和Swing睡眠,並且都沒有解決。任何建議(而不是代碼)用於實現用例。

+3

爲此,請使用模態JDialog,例如JOptionPane。 –

+0

@HovercraftFullOfEels請你詳細說明一下嗎? –

+1

@ vikky2405那麼,你可以爲[java模式對話框]做一個快速護目鏡(https://www.google.com.au/search?q=java+modal+dialog&oq=java+modal+dialo&aqs=chrome.0.0 j69i57j0l4.2597j0j9&sourceid = chrome&ie = UTF-8),看看你找到了什麼,或者你可以搜索一個類似的查詢,這可能會導致你[如何製作對話框](https://docs.oracle.com/javase/教程/ uiswing /組件/ dialog.html) – MadProgrammer

回答

0

如果JDialogJOPtionPane不是您想要使用的。您可以:

1)創建一個Observer

2)從主線程創建您的GUI,將Observer傳遞給它並使用invokeLater在EDT上啓動它。

3)使用CompletableFuture等到您的GUI將在您點擊「完成」按鈕時回撥Observer.update(list of strings)

4)從Observer獲取字符串列表。

看到這個鏈接如何完成Java implementation to handle callback messages