Javatpoint Logo
Javatpoint Logo

Window Event in Java

Java provides a rich and robust set of libraries and tools for building graphical user interfaces (GUIs). One essential aspect of GUI programming is handling window events. Window events occur when a user interacts with the GUI, such as opening, closing, resizing, or moving a window. In this section, we will delve into window events in Java, discussing the different types of events, how to handle them, and providing complete code examples with outputs to illustrate each concept.

Event Handling Interfaces

Window events in Java are typically handled using the following interfaces:


The interface defines methods to handle various window-related events, such as window opening, closing, activation, deactivation, and more.

It includes the following methods:

  1. windowOpened(WindowEvent e): Invoked when the window is first opened or displayed.
  2. windowClosing(WindowEvent e): Triggered when the user attempts to close the window.
  3. windowClosed(WindowEvent e): Sent after the window has been closed.
  4. windowIconified(WindowEvent e): Occurs when the window is minimized.
  5. windowDeiconified(WindowEvent e): Triggered when the window is restored from a minimized state.
  6. windowActivated(WindowEvent e): Fired when the window receives focus and becomes active.
  7. windowDeactivated(WindowEvent e): Sent when the window loses focus and becomes inactive.


It is an abstract class that implements the WindowListener interface. It provides default empty implementations for all the methods of the WindowListener interface. We can extend WindowAdapter and override only the methods you need, making it convenient for handling specific window events without implementing all the methods.

Working of WindowListener interface

The WindowListener interface enables a class to handle various window-related events effectively. To process these events, an object must be available that implements this interface. Once this object is registered as a listener, it becomes capable of responding to window events that occur during different states of a window's lifecycle.

By registering this object as a listener, events are automatically generated in response to user actions on the window, such as opening, closing, resizing, or moving it. These events trigger the corresponding methods in the listener's object, allowing developers to define custom actions in response to these events.

After the relevant method in the listener's object is invoked, a WindowEvent is generated, encapsulating information about the event. The event object can be examined and further processed by the developer as needed, providing a structured way to interact with and respond to window-related actions in Java applications.

Registering Window Listeners

To handle window events, you need to register a WindowListener or a subclass of WindowAdapter to a window component (usually a JFrame, JDialog, or JWindow). You can do this using the addWindowListener(WindowListener l) method.

Handling Window Events in Java

To handle window events in Java, you need to implement the WindowListener or WindowAdapter interface. The WindowAdapter class provides default empty implementations for all methods of the WindowListener interface, allowing us to override only the methods relevant to your application.

Let's look at an example that demonstrates how to handle window events using a simple Swing application:


Compile and run the code provided above. You should see a window with the title "Window Event Example." When you click the close button, a confirmation dialog will appear. If you choose "Yes," the window will close; otherwise, it will remain open.We've implemented the WindowListener interface and added it to the frame using an anonymous inner class.

Each of the WindowListener methods has been overridden to print a message to the console when the associated window event occurs.When you run this code, the program will display a JFrame titled "All Window Events Example." Try interacting with the window by minimizing, maximizing, activating, deactivating, and closing it to observe the output messages in the console.


Understanding and handling window events in Java is crucial for building interactive and user-friendly GUI applications. In this article, we explored the various types of window events and demonstrated how to handle them using a simple Swing application. By mastering window events, we can create responsive and intuitive Java GUI applications that provide a seamless user experience.

Youtube For Videos Join Our Youtube Channel: Join Now


Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials


Trending Technologies

B.Tech / MCA