java - 打开另一个 JDialog 时,模态 JDialog 被推到后面

标签 java

对 Java 相当陌生,并且遇到了 z 顺序问题。我有一个旧版 Java 应用程序,它有一个主窗口 A,它会弹出一个模式 JDialog B。单击 B 上的按钮后,会弹出一个模式对话框 C。

对于从 B 到 C 的过渡:

B.setVisible(false);
B.setModalityType(Dialog.ModalityType.MODELESS);
B.toFront();
B.repaint();
B.setVisible(true);

.... 
C.pack();
C.setResizable(false);
C.setModal(true);
C.setVisible(true);

当 C 消失时,执行相反的操作,B 再次设置为模态。

这是有效的,只是一旦显示 C,B 就会被推到 A 后面。我想在显示 C 时将 B 保持在 A 前面

我误解/做错了什么?

在 Windows 7 64 位、Java 1.8.0_20-b26 上运行。

最佳答案

确保 C 对话框的父级是 B 而不是 A。

关于java - 打开另一个 JDialog 时,模态 JDialog 被推到后面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27404342/

相关文章:

java - OpenGL ES,向圆添加纹理

java - 签署 gradle 插件

Java - MySQL - 临时表

java - 如何从框架左侧制作垂直的按钮线?

java - 捕获 URL 中的所有图像并移动到幻灯片

java - Maven clean install 等于 mvn clean 和 mvn install 之后?

java - 使用 Spring Boot 进行客户端证书身份验证

java - 如何用鼠标滚轮移动JSlider

java - 我可以将这个包添加到我现有的 Java 项目中吗?

java - 使用新元素即时更新 Android SurfaceView