Java 父子 JFrame

标签 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(); 这样它就不会继续执行下一个代码,除非我关闭子表单。

提前致谢! ü

最佳答案

使用模态 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 closed

关于Java 父子 JFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16952851/

相关文章:

java - 如何在 jpa 查询中使用自定义函数?

java - JFrame DO_NOTHING_ON_CLOSE 不适用于 Command + Q

java - JFrame 在调整大小时重复绘图

java - 如何在Android Activity 中使用swing Jframe?

Java 5 SwingWorker 替换

java - 计算器对所有提出的问题返回 0.0

java - Gradle Exec Task 停止tomcat

java - VisualVM "Sampler->Cpu->CpuSettings"呈灰色。怎么会?

java - 从实现公共(public)接口(interface)的 jar 中实例化类,然后将实例分配给该接口(interface)会导致 ClassCastException

java - JScrollPane 中的滚动条不刷新