2009-05-29 6 views
6

Comment puis-je faire une pause de l'application lorsque j'ouvre JDialog personnalisé et après que la boîte de dialogue est fermée pour continuer à nouveau.Comment suspendre l'exécution pendant que JDialog est ouvert

+1

Je pense que vous devez définir davantage "pause". Voulez-vous dire que vous voulez que l'interface utilisateur cesse complètement de répondre? Voulez-vous dire que vous voulez qu'un autre thread en cours d'exécution fasse une pause? – Jared

Répondre

17

utiliser simplement:

setModal(true); 

j'appelle généralement de l'intérieur du constructeur de la JDialog. Voir les Javadocs sur setModal(boolean). Cela entraînera l'exécution du blocage sur le thread en cours jusqu'à ce que la boîte de dialogue se ferme.

Alternativement, vous pouvez utiliser:

setModalityType(Dialog.DEFAULT_MODALITY_TYPE); 

Il est équivalent à setModal(true) et techniquement la bonne façon de le faire.

1

Voir le constructeur de JDialog http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JDialog.html#JDialog(java.awt.Dialog,%20java.lang.String,%20boolean). Vous pouvez définir la modalité de cette boîte de dialogue. La définition de modal = true mettra votre application en pause. vous pouvez également utiliser la méthode 'setModal' http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Dialog.html#setModal(boolean)

+0

Ces commentaires/réponses ne disent pas où le code va s'arrêter. Ce point peut être important à savoir. – NormR

Questions connexes