Shashank Degloorkar
Shashank Degloorkar

Reputation: 3221

Swing- close whole application when a dialog is cancelled

I have a JFrame which on instantiation calls a custom JDialog(Login). If login is successful i want that jFrame to be visible. And if user presses escape/cancel on that login dialog the whole application should be closed.

How can i do so...

Currently if i dispose dialog the jFrame gets visible.

Upvotes: 4

Views: 1611

Answers (2)

alain.janinm
alain.janinm

Reputation: 20065

You can override the dialog close event :

dialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);

dialog.addWindowListener(new WindowAdapter() {

  public void windowClosing(WindowEvent we) {  
    //Release you source, close all your frames or call a brutal System.exit(0);
  }
});

Upvotes: 3

assylias
assylias

Reputation: 328568

Assuming you have access to your JFrame via a frame variable, you can simply call:

frame.dispatchEvent(new WindowEvent(frame, WindowEvent.WINDOW_CLOSING));

It is probably better than calling a System.exit() as it will enable you to run some cleanup code if you have registered a window closing listener to your frame.

Upvotes: 5

Related Questions