Class BasicPopupPanelUI.WindowTracker

  • All Implemented Interfaces:
    java.awt.event.AWTEventListener, java.awt.event.ComponentListener, java.awt.event.WindowListener, java.util.EventListener, PopupPanelManager.PopupListener
    Enclosing class:
    BasicPopupPanelUI

    protected static class BasicPopupPanelUI.WindowTracker
    extends java.lang.Object
    implements PopupPanelManager.PopupListener, java.awt.event.AWTEventListener, java.awt.event.ComponentListener, java.awt.event.WindowListener
    This class is used to dismiss popup panels on the following events:
    • Mouse click outside any shown popup panel.
    • Closing, iconifying or deactivation of a top-level window.
    • Any change in the component hierarchy of a top-level window.

    Only one top-level window is tracked at any time. The assumption is that the PopupPanelManager only shows popup panels originating from one top-level window.

    • Field Detail

      • grabbedWindow

        java.awt.Window grabbedWindow
        The currently tracked window. It is the window of the originating component of the first popup panel in the currently shown sequence of PopupPanelManager.
    • Constructor Detail

      • WindowTracker

        public WindowTracker()
        Creates the new window tracker.
    • Method Detail

      • grabWindow

        void grabWindow​(java.util.List<PopupPanelManager.PopupInfo> shownPath)
        Grabs the window of the first popup panel in the specified popup panel sequence.
        Parameters:
        shownPath - Sequence of the currently shown popup panels.
      • ungrabWindow

        void ungrabWindow()
        Ungrabs the currently tracked window.
      • eventDispatched

        public void eventDispatched​(java.awt.AWTEvent ev)
        Specified by:
        eventDispatched in interface java.awt.event.AWTEventListener
      • componentResized

        public void componentResized​(java.awt.event.ComponentEvent e)
        Specified by:
        componentResized in interface java.awt.event.ComponentListener
      • componentMoved

        public void componentMoved​(java.awt.event.ComponentEvent e)
        Specified by:
        componentMoved in interface java.awt.event.ComponentListener
      • componentShown

        public void componentShown​(java.awt.event.ComponentEvent e)
        Specified by:
        componentShown in interface java.awt.event.ComponentListener
      • componentHidden

        public void componentHidden​(java.awt.event.ComponentEvent e)
        Specified by:
        componentHidden in interface java.awt.event.ComponentListener
      • windowClosing

        public void windowClosing​(java.awt.event.WindowEvent e)
        Specified by:
        windowClosing in interface java.awt.event.WindowListener
      • windowClosed

        public void windowClosed​(java.awt.event.WindowEvent e)
        Specified by:
        windowClosed in interface java.awt.event.WindowListener
      • windowIconified

        public void windowIconified​(java.awt.event.WindowEvent e)
        Specified by:
        windowIconified in interface java.awt.event.WindowListener
      • windowDeactivated

        public void windowDeactivated​(java.awt.event.WindowEvent e)
        Specified by:
        windowDeactivated in interface java.awt.event.WindowListener
      • windowOpened

        public void windowOpened​(java.awt.event.WindowEvent e)
        Specified by:
        windowOpened in interface java.awt.event.WindowListener
      • windowDeiconified

        public void windowDeiconified​(java.awt.event.WindowEvent e)
        Specified by:
        windowDeiconified in interface java.awt.event.WindowListener
      • windowActivated

        public void windowActivated​(java.awt.event.WindowEvent e)
        Specified by:
        windowActivated in interface java.awt.event.WindowListener