相当新的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。
答案 0 :(得分:2)
确保C对话框的父级是B而不是A.