1

基本上我有一个打开 JDialog 的 JFrame。

我面临的问题是当我尝试在 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);
    ...
}

消息框类

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);
}
4

0 回答 0