2013-06-06 9 views
1

저는 javax.swing.* 패키지에 익숙하며 C# .net에만 익숙합니다. 두 개의 JFrame, 즉 frmLoginfrmMain이 있습니다. 내가하고 싶은 모든이 같은 간단한 코드 무언가이다 :자바 부모 및 자식 JFrame

+ ----- C# 버전 ---------

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

tbPsswrd.Text = String.empty; 

+ ---- 자바 버전 - ------

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

tbPsswrd.Text = ""; 

자바 JFrame의에서 + ---------------------------

show()setVisible(boolean isVisible)을 사용할 수 있습니다. 따라서 frmMain()으로 끝나면 코드 옆에있는 나머지 부분을 계속 수행합니다 (부모 양식을 표시하고 비밀번호 상자를 비움).

요약하면, .showDialog();이 아닌 동일한 기능의 코드가 .show(); 이 아니기 때문에 나는 자식 폼을 닫지 않는 한 다음 코드를 계속 사용하지 않을 것입니다.

미리 감사드립니다. Ü

답변

4

JFrame 대신 모달 JDialog을 사용하고 대화 상자가 닫힐 때까지 dialog.setVisible(true)이 차단됩니다. 예 :

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

답변 해 주셔서 감사합니다. JFrames를 JDialog로 변환하는 데 어려움을 겪었습니다. –