2009-05-29 17 views
6

¿Cómo puedo hacer que mi aplicación se detenga cuando abro el JDialog personalizado y después de que se cierre el cuadro de diálogo para continuar de nuevo?Cómo pausar la ejecución mientras JDialog está abierto

+1

Creo que necesita definir aún más "pausa". ¿Quiere decir que quiere que la interfaz de usuario deje de responder por completo? ¿Quiere decir que quiere poner en pausa algún otro hilo de ejecución? – Jared

Respuesta

17

Utilice simplemente:

setModal(true); 

por lo general lo llamo desde dentro del constructor de la JDialog.

Consulte los Javadocs en setModal(boolean).
http://java.sun.com/javase/6/docs/api/java/awt/Dialog.html#setModal(boolean)

Esto hará que la ejecución se bloquee en la secuencia actual hasta que se cierre el cuadro de diálogo.

Alternativamente, se puede utilizar:

setModalityType(Dialog.DEFAULT_MODALITY_TYPE); 

Es equivalente a setModal(true) y técnicamente la forma correcta de hacerlo.

1

Consulte el constructor de JDialog http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JDialog.html#JDialog(java.awt.Dialog,%20java.lang.String,%20boolean). Puede establecer la modalidad de este cuadro de diálogo. Establecer modal = true hará una pausa en su aplicación. también puede usar el método 'setModal' http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Dialog.html#setModal(boolean)

+0

Estos comentarios/respuestas no dicen dónde se detendrá el código. Ese punto puede ser importante de saber. – NormR

Cuestiones relacionadas