我在創建NetBeans平臺應用程序。當用戶點擊主窗口的X時,我希望應用程序不執行任何操作並顯示密碼JDialog。如果密碼正確,請關閉應用程序,否則請不要關閉應用程序。我該怎麼做呢?我創建了一個顯示密碼JDialog的Listener類,但是如何阻止應用程序關閉?與JFrame的setDefaultCloseOperation類似,並將其設置爲關閉時不執行任何操作。NetBeans平臺無法關閉
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());
}
});
}
}
爲什麼不直接使用一個JFrame? – 2012-07-20 15:50:44
如何? JFrame someJFrame = WindowManager.getDefault()。getMainWindow();給我一個錯誤 – jadrijan 2012-07-20 15:53:28
創建一個新的JFrame?哈哈。 'JFrame frame = new JFrame();'但是我的答案如下,如果你致力於使用一個'Frame'。你可以有一個擴展'JFrame'的類並將它用於你的主窗口。 – 2012-07-20 15:55:28