java windowlistener
WindowListener
is an interface in the Java programming language that defines a listener for window-related events, such as window closing, opening, activating, and deactivating. A WindowListener
receives notification when a window is opened or closed, activated or deactivated, and other window-related events.
To use a WindowListener
, you typically create an instance of a class that implements the WindowListener
interface and then register it with the window that generates the events. For example, to create a WindowListener
for a JFrame
, you might write:
frame.addWindowListener(new WindowListener() { public void windowOpened(WindowEvent e) { // Perform some action when the window is opened } public void windowClosing(WindowEvent e) { // Perform some action when the window is closing } public void windowClosed(WindowEvent e) { // Perform some action when the window is closed } public void windowIconified(WindowEvent e) { // Perform some action when the window is minimized } public void windowDeiconified(WindowEvent e) { // Perform some action when the window is restored from minimized state } public void windowActivated(WindowEvent e) { // Perform some action when the window is activated } public void windowDeactivated(WindowEvent e) { // Perform some action when the window is deactivated } });
This code creates an anonymous inner class that implements the WindowListener
interface and defines the methods for handling the various window events. Each method is called when the corresponding event occurs, and can be used to perform some action in response to that event.
In Java 8 and later, you can use lambda expressions to define WindowListener
instances more concisely. For example:
frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { // Perform some action when the window is closing } });
This code creates a WindowAdapter
instance (a class that implements the WindowListener
interface with empty method implementations) and overrides only the windowClosing
method to perform the desired action. Alternatively, you can use a lambda expression to create the WindowAdapter
instance:
frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { // Perform some action when the window is closing } });
This code is equivalent to the previous example, but uses a lambda expression to create the WindowAdapter
instance.