我正在构建一个 NetBeans 平台应用程序。当用户单击主窗口的 X 时,我希望应用程序不执行任何操作并显示密码 JDialog。如果密码正确关闭应用程序,否则不要关闭应用程序。我该怎么做呢?我创建了一个将显示密码 JDialog 的 Listener 类,但是如何阻止应用程序关闭?类似于 JFrame 的 setDefaultCloseOperation,并将其设置为关闭时不执行任何操作。
public class Listener extends WindowAdapter {
private Frame frame;
@Override
public void windowActivated(WindowEvent event) {
frame = WindowManager.getDefault().getMainWindow();
frame.setSize(946, 768);
}
@Override
public void windowClosing(WindowEvent event) {
ShutDownMainWindowJDialog shutDownMainWindowJDialog;
shutDownMainWindowJDialog = new ShutDownMainWindowJDialog(null, true);
shutDownMainWindowJDialog.exeShutDownMainWindowJDialog();
shutDownMainWindowJDialog.setLocationRelativeTo(frame);
shutDownMainWindowJDialog.setVisible(true);
}
}
public class Installer extends ModuleInstall {
@Override
public void restored() {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
Frame frame = WindowManager.getDefault().getMainWindow();
frame.addWindowListener(new Listener());
}
});
}
}