Reputation: 3221
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
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
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