Java父子JFrame

时间:2013-06-06 02:36:03

标签: java swing jframe

我是javax.swing.*个软件包的新手,只对c#.net很熟悉。 我有两个JFrame,分别是frmLoginfrmMain。 我想做的只是一个简单的代码:

+ ----- C#版本---------

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

tbPsswrd.Text = String.empty;

+ ---- JAVA版本-------

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

tbPsswrd.Text = "";

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

在Java JFrame中,只有show()setVisible(boolean isVisible)可用, 因此即使我没有完成frmMain(),它仍会继续这样做 其旁边的代码(用于显示父表单并清空密码) 框)。

总之,我希望方法.showDialog();的等效功能不仅仅是.show(); 除非我关闭了儿童表格,否则它不会继续下一个代码。

提前致谢! Ü

1 个答案:

答案 0 :(得分:4)

使用模式JDialog代替JFramedialog.setVisible(true)将阻止,直到对话框关闭。例如:

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