有一个名为A的窗口,当我点击一个按钮时,对话框B将弹出,然后我点击对话框B上的按钮,B将隐藏,此时计算将处理,窗口A将出现。计算完成后,会出现Dialog C.但是当我在对话框C显示之前按Windows + D显示桌面时,对话框将暂停,我必须通过任务管理器终止该过程。这里的所有对话都是模态的。
答案 0 :(得分:0)
您可以在JDialog
的构造函数中指定父窗口。此外,您可以将对话框指定为模式,以防止在对话框打开时与父窗口进行任何交互。示例代码:
public static void main(String[] args) {
JFrame frame = new JFrame("Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400,400);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
JDialog dialog = new JDialog(frame);
dialog.setSize(200,200);
dialog.setLocationRelativeTo(frame);
dialog.setModal(true); // Works also with .setModal(false)
dialog.setVisible(true);
}