当我按下windows + d时,Swing JDialog暂停

时间:2014-04-11 06:24:20

标签: java swing jdialog suspend

有一个名为A的窗口,当我点击一个按钮时,对话框B将弹出,然后我点击对话框B上的按钮,B将隐藏,此时计算将处理,窗口A将出现。计算完成后,会出现Dialog C.但是当我在对话框C显示之前按Windows + D显示桌面时,对话框将暂停,我必须通过任务管理器终止该过程。这里的所有对话都是模态的。

1 个答案:

答案 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);
}