2013-06-06 5 views
1

Je suis nouveau à javax.swing.* paquets et seulement familier à C# .net. J'ai deux JFrames respectivement frmLogin et frmMain. Tout ce que je veux faire est un simple code quelque chose comme ceci:Java parent et enfant JFrame

+ ----- C# Version ---------

this.hide(); 
new frmMain().ShowDialog(); 
this.show(); 

tbPsswrd.Text = String.empty; 

+ ---- version JAVA - ------

this.setVisible(false); 
new frmMain().setVisible(true); 
this.setVisible(true); 

tbPsswrd.Text = ""; 

+ ---------------------------

En Java JFrame, seulement show() et est disponible, donc même si je ne suis pas terminé avec frmMain(), il continuera à faire le reste du code à côté de lui (qui est d'afficher le formulaire parent et vide le mot de passe boîte ).

En résumé, je veux une fonctionnalité équivalente de la méthode .showDialog(); pas seulement .show(); afin qu'il continue l'habitude de les codes suivants à moins que je fermais le formulaire enfant.

Merci d'avance! Ü

Répondre

4

Utilisez un modal JDialog au lieu d'un JFrame et dialog.setVisible(true) pour bloquer jusqu'à la fermeture de la boîte de dialogue. Par exemple:

JDialog dialog = new JDialog(parentFrame, true); // parent, isModal 
dialog.setVisible(true); // blocks until dialog is closed 
// ... do stuff after dialog is closed 
+0

Merci pour la réponse. J'ai eu du mal à convertir mes JFrames en JDialogs. –