2009-05-29 46 views
6

當我打開自定義JDialog並關閉對話框後再次繼續時,如何讓我的應用程序暫停。如何在JDialog打開時暫停執行

+1

我認爲你需要進一步定義「暫停」。你的意思是你想要UI完全停止響應?你的意思是你想要其他執行線程暫停嗎? – Jared 2009-05-29 18:13:40

回答

17

只需使用:

setModal(true); 

我通常從JDialog的構造函數中調用它。

請參閱關於setModal(boolean)的Javadocs。
http://java.sun.com/javase/6/docs/api/java/awt/Dialog.html#setModal(boolean)

這將導致執行阻塞當前線程,直到對話框關閉。

或者,你可以使用:

setModalityType(Dialog.DEFAULT_MODALITY_TYPE); 

它相當於setModal(true)和技術上做了正確的道路。

1

查看JDialog的構造函數http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JDialog.html#JDialog(java.awt.Dialog,%20java.lang.String,%20boolean)。您可以設置此對話框的模態。設置模式= true將暫停您的應用程序。你也可以使用'setModal'方法http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Dialog.html#setModal(boolean)

+0

這些評論/回答沒有說​​明代碼在哪裏暫停。這點可能很重要。 – NormR 2014-07-19 04:37:48