我是javax.swing.*包的新手,只熟悉c#.net。我有两个JFrames,分别是frmLogin和frmMain。我想做的只是一个简单的代码,就像这样:
+- 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();,这样除非我关闭了子窗体,否则它不会继续到下一段代码。
提前感谢!
发布于 2013-06-06 10:45:14
使用模式JDialog而不是JFrame,dialog.setVisible(true)将一直阻塞,直到对话框关闭。例如:
JDialog dialog = new JDialog(parentFrame, true); // parent, isModal
dialog.setVisible(true); // blocks until dialog is closed
// ... do stuff after dialog is closedhttps://stackoverflow.com/questions/16952851
复制相似问题