NetBeans 플랫폼 응용 프로그램을 사용하고 있습니다. 사용자가 메인 윈도우의 X를 클릭하면 응용 프로그램에서 아무 것도하지 않고 암호 JDialog를 표시하기를 원합니다. 비밀번호가 맞으면 앱을 닫고 앱을 닫지 마십시오. 어떻게해야합니까? JDialog 패스워드를 보여줄 리스너 클래스를 만들었지 만, 어플리케이션을 닫지 않게하는 방법은 무엇입니까? 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의를 사용할 수 있습니까? –
어떻게? JFrame someJFrame = WindowManager.getDefault(). getMainWindow(); 나에게 오류를 준다 – jadrijan
새로운 JFrame을 만드시겠습니까? 하하. 'JFrame frame = new JFrame();'그러나 아래의 제 대답은 여러분이'Frame'을 사용하기로 결정했다면 효과가 있습니다. 'JFrame'을 확장 한 클래스를 메인 윈도우에 사용할 수 있습니다. –