X
	
		wikiHow is a “wiki,” similar to Wikipedia, which means that many of our articles are co-written by multiple authors. To create this article, 10 people, some anonymous, worked to edit and improve it over time.
			
			 This article has been viewed 153,703 times.
			
			Learn more...
		
This article will show you how to close a window in Java. Closing a window is much easier using Swing's JFrame, but it's also doable using AWT's Frame.
Steps
- 
1Obtain an instance of aJFrame, or create a new one.
- 
2Set default close operation. Default close operation is set using the setter method inside theJFrameclasssetDefaultCloseOperationthat determines what happens when the close button is clicked and takes the following parameters:- 
WindowConstants.EXIT_ON_CLOSE- Closes the frame and terminates the execution of the program.
- 
WindowConstants.DISPOSE_ON_CLOSE- Closes the frame and does not necessarily terminate the execution of the program.
- 
WindowConstants.HIDE_ON_CLOSE- Makes the frame appear like it closed by setting its visibility property to false. The difference betweenHIDE_ON_CLOSEandDISPOSE_ON_CLOSEis that the latter releases all of the resources used by the frame and its components.
- 
WindowConstants.DO_NOTHING_ON_CLOSE- Does nothing when the close button is pressed. Useful if you wish to, for example, display a confirmation dialog before the window is closed. You can do that by adding aWindowListenerto the frame and overridingwindowClosingmethod. Example of the custom close operation:frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { // Ask for confirmation before terminating the program. int option = JOptionPane.showConfirmDialog( frame, "Are you sure you want to close the application?", "Close Confirmation", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); if (option == JOptionPane.YES_OPTION) { System.exit(0); } } }); 
 
- 
Advertisement
- 
1Obtain an instance of aFrame, or create a new one.
- 
2Add window listener. CalladdWindowListenermethod on the instance. The required argument isWindowListener. You can either implement every method of theWindowListenerinterface or override only the methods you need fromWindowAdapterclass.
- 
3Handle window closing event. ImplementwindowClosingmethod fromWindowListenerinterface or override it fromWindowAdapterclass. There are two ways of closing a window:- Dispose the window after the close button is clicked:
- Call disposemethod insidewindowClosingmethod.
 frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { // Dispose the window after the close button is clicked. dispose(); } }); 
- Call 
- Terminate the program after the close button is clicked:
- Call System.exitmethod insidewindowClosingmethod.
 frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { // Terminate the program after the close button is clicked. System.exit(0); } }); 
- Call 
 
- Dispose the window after the close button is clicked:
Advertisement
Expert Q&A
Ask a Question
		200 characters left
			
			Include your email address to get a message when this question is answered.
			Submit
		Advertisement
Tips
- 
Swing is preferred over AWT since the latter is really outdated.Thanks
- 
UsingWindowAdapteryou don't have to implement each and every methodWindowListenercontract tells us to, but only the ones we need.Thanks
 Submit a Tip
		
	All tip submissions are carefully reviewed before being published
	
		Name
		
	
	Please provide your name and last initial
	
		Thanks for submitting a tip for review!
	
Advertisement
About This Article
Thanks to all authors for creating a page that has been read 153,703 times.
Is this article up to date?
Advertisement








































































