# Class JMenu.WinListener

java.lang.Object
java.awt.event.WindowAdapter
javax.swing.JMenu.WinListener

All Implemented Interfaces:
  `WindowFocusListener, WindowListener, WindowStateListener, Serializable, EventListener`

Enclosing class:
  `JMenu`

protected class JMenu.WinListener extends WindowAdapter implements Serializable
A listener class that watches for a popup window closing. When the popup is closing, the listener deselects the menu.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans has been added to the `java.beans` package. Please see `XMLEncoder`.

Since:
  1.2

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `WinListener(JPopupMenu p)`
  Create the window listener for the specified popup.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `windowClosing(WindowEvent e)`
  Deselect the menu when the popup is closed from outside.

  ### Methods declared in class WindowAdapter

  `windowActivated, windowClosed, windowDeactivated, windowDeiconified, windowGainedFocus, windowIconified, windowLostFocus, windowOpened, windowStateChanged`
  Modifier and Type
  Method
  Description
  `void`
  `windowActivated(WindowEvent e)`
  Invoked when a window is activated.
  `void`
  `windowClosed(WindowEvent e)`
  Invoked when a window has been closed.
  `void`
  `windowDeactivated(WindowEvent e)`
  Invoked when a window is de-activated.
  `void`
  `windowDeiconified(WindowEvent e)`
  Invoked when a window is de-iconified.
  `void`
  `windowGainedFocus(WindowEvent e)`
  Invoked when the Window is set to be the focused Window, which means that the Window, or one of its subcomponents, will receive keyboard events.
  `void`
  `windowIconified(WindowEvent e)`
  Invoked when a window is iconified.
  `void`
  `windowLostFocus(WindowEvent e)`
  Invoked when the Window is no longer the focused Window, which means that keyboard events will no longer be delivered to the Window or any of its subcomponents.
  `void`
  `windowOpened(WindowEvent e)`
  Invoked when a window has been opened.
  `void`
  `windowStateChanged(WindowEvent e)`
  Invoked when a window state is changed.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### WinListener

    public WinListener(JPopupMenu p)
    Create the window listener for the specified popup.
    Parameters:
      `p` - the popup menu for which to create a listener
    Since:
      1.4

- ## Method Details

  - ### windowClosing

    public void windowClosing(WindowEvent e)
    Deselect the menu when the popup is closed from outside.
    Specified by:
      `windowClosing` in interface `WindowListener`
    Overrides:
      `windowClosing` in class `WindowAdapter`
    Parameters:
      `e` - the event to be processed