Java 关闭打开JDialog的JFrame

Java 关闭打开JDialog的JFrame,java,swing,jframe,jdialog,formclosing,Java,Swing,Jframe,Jdialog,Formclosing,基本上我有一个JFrame,它可以打开一个JDialog 我面临的问题是,当我试图在Windows操作系统中右键单击任务栏->关闭窗口时 JDialog将“阻止”关闭事件 即使显示了JDialog,我也希望关闭应用程序,但同时阻止父帧中的任何输入 编辑:通常,对话框用于阻止输出,但正如我在下面的评论中提到的: 问题在于,当用户需要关闭应用程序,但使用 屏幕上几乎没有对话框。它要求他们在之前关闭所有与他们的关系 能够关闭整个应用程序。如果你能 选定的关键对话框会阻止关闭事件,但不会阻止关闭事件 琐

基本上我有一个JFrame,它可以打开一个JDialog

我面临的问题是,当我试图在Windows操作系统中右键单击任务栏->关闭窗口时

JDialog将“阻止”关闭事件

即使显示了JDialog,我也希望关闭应用程序,但同时阻止父帧中的任何输入

编辑:通常,对话框用于阻止输出,但正如我在下面的评论中提到的:


问题在于,当用户需要关闭应用程序,但使用 屏幕上几乎没有对话框。它要求他们在之前关闭所有与他们的关系 能够关闭整个应用程序。如果你能 选定的关键对话框会阻止关闭事件,但不会阻止关闭事件 琐碎的

主类

public class Main  {
private Frame frmMain;

public static void main(String[] args) {

    new Main();
}

public Main(){
    initialize stuff..
    frmMain.setVisible(true);
    Message msg = MessageFrame.openDialog(frmMain);
    ...
}
MessageFrame类

public class MessageFrame extends JDialog {

private Message message;
public static void openDialog(Frame frame){
     return new MessageFrame(frame).message;
}

private MessageFrame(Frame frame){
    super(frame);
    setModalityType(ModalityType.APPLICATION_MODAL);
    ...
    setVisible(true);
}

“即使显示JDialog,我也希望关闭应用程序,但同时阻止父框架中的任何输入。”而我们其他人更喜欢应用程序。这与其他应用程序的工作方式一致。在我们的电脑上。。为了您的用户,我希望您a)更改该要求,或者。。b) 无法实现。问题在于当用户需要关闭应用程序时,但当屏幕上有几个对话框时,要求他们关闭所有对话框,然后才能关闭整个应用程序。如果只有选定的关键对话框阻止关闭事件,而不是那些琐碎的对话框,则会更好。“如果…”会更好。用户参与了这些对话框。如果不需要创建对话框,只需从程序中删除创建的对话框,除非这会影响程序的运行和意图。对话的目的不是一时兴起。