2009-05-29 1 views
6

Come posso mettere in pausa la mia applicazione quando apro il JDialog personalizzato e dopo che la finestra di dialogo è chiusa per continuare di nuovo.Come sospendere l'esecuzione mentre JDialog è aperto

+1

Penso che è necessario per definire ulteriormente "pausa". Intendi che vuoi che l'interfaccia utente smetta completamente di rispondere? Vuoi dire che vuoi mettere in pausa qualche altro thread in esecuzione? – Jared

risposta

17

utilizzare semplicemente:

setModal(true); 

Io di solito lo chiamo dall'interno del costruttore della JDialog.

Vedere i Javadoc su setModal(boolean).
http://java.sun.com/javase/6/docs/api/java/awt/Dialog.html#setModal(boolean)

Ciò causerà l'esecuzione del blocco sul thread corrente fino alla chiusura della finestra di dialogo.

In alternativa, è possibile utilizzare:

setModalityType(Dialog.DEFAULT_MODALITY_TYPE); 

È equivalente a setModal(true) e tecnicamente il modo corretto per farlo.

1

vedere il costruttore di JDialog http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JDialog.html#JDialog(java.awt.Dialog,%20java.lang.String,%20boolean). È possibile impostare la modalità di questa finestra di dialogo. L'impostazione modal = true interromperà l'applicazione. è anche possibile utilizzare il metodo 'setModal' http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Dialog.html#setModal(boolean)

+0

Questi commenti/risposte non dicono dove il codice si fermerà. Quel punto può essere importante sapere. – NormR