基本上我有一个打开 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);
}