我正在編寫一個javafx程序,我需要創建並使用我自己的基於舞臺的(Javafx.Stage)對話框來顯示消息和確認。我寫了所有必要的代碼,但我有一個問題:創建一個JavaFX對話框
對話框必須停止執行代碼的其餘部分,直到給出「是」,「否」或「重試」等響應。當我使用我的對話框如「DialogBox.ShowMessage」時,舞臺會出現消息和按鈕。但是,正如您可能認爲的那樣,其餘代碼將繼續執行。我怎樣才能解決這個問題?當我創建舞臺時,它必須停止其他線程或它依賴的線程。我通過互聯網搜索了這裏,但我找不到確切的解決方案。一個想法是使用「javafx.event.EventDispatcher」或「javafx.event.EventDispatchChain」,但我無法弄清楚如何使用它們。另一個想法是使用「java.awt.EventQueue」。這裏有一些有用的東西:我可以控制舞臺表演和隱藏事件,並顯示或隱藏事件處理程序。我認爲som排序的線程隊列可用於其中一個特定部分。
我希望我澄清一下情況。簡而言之,我需要在使用另一個階段和自己的代碼的同時管理線程。
謝謝。
感謝您的提示。根據你的回答讓我再解釋一遍。您給出的示例鏈接強調了我已經完成的應用程序模式。該示例阻止了非CODE界面。這是我的問題。我使用的是兩次,第二條消息不等第一次關閉。換句話說,第二階段是在第一階段結束之前顯示的。據我所知,你的事件處理程序建議是關於確定或取消按鈕的東西。我已經做到了。我打電話給窗口,它阻止了界面,但不是代碼。 Teşekkürler。 – 2012-04-27 10:46:07
問題記者附帶的例子**是關於在顯示子階段後執行(代碼)阻塞的**。考慮仔細閱讀。類似的問題在這裏存在[http://stackoverflow.com/q/10008377/682495](http://stackoverflow.com/q/10008377/682495)。 – 2012-04-27 11:10:12
儘管問題記者談論'Modality',那麼形式就是關於main-sub窗口ie。界面關係。但代碼執行繼續'label.setText(「我不阻止!」);' – 2012-04-27 11:13:58