Class LinuxPopupMenuCanceler
java.lang.Object
java.awt.event.WindowAdapter
com.formdev.flatlaf.LinuxPopupMenuCanceler
- All Implemented Interfaces:
ComponentListener, WindowFocusListener, WindowListener, WindowStateListener, EventListener, ChangeListener
Cancels (hides) popup menus on Linux.
On Linux, popups are not hidden under following conditions, which results in misplaced popups:
- window moved or resized
- window maximized or restored
- window iconified
- window deactivated (e.g. activated other application)
The implementation is similar to what's done in
javax.swing.plaf.basic.BasicPopupMenuUI.MouseGrabber,
but only hides popup in some conditions.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidaddWindowListeners(MenuElement selected) private voidvoidvoidvoidvoidprivate voidvoid(package private) voidvoidvoidvoidMethods inherited from class WindowAdapter
windowActivated, windowClosed, windowDeiconified, windowGainedFocus, windowLostFocus, windowOpened, windowStateChanged
-
Field Details
-
lastPathSelectedPath
-
window
-
-
Constructor Details
-
LinuxPopupMenuCanceler
LinuxPopupMenuCanceler()
-
-
Method Details
-
uninstall
void uninstall() -
addWindowListeners
-
removeWindowListeners
private void removeWindowListeners() -
cancelPopupMenu
private void cancelPopupMenu() -
stateChanged
- Specified by:
stateChangedin interfaceChangeListener
-
windowIconified
- Specified by:
windowIconifiedin interfaceWindowListener- Overrides:
windowIconifiedin classWindowAdapter
-
windowDeactivated
- Specified by:
windowDeactivatedin interfaceWindowListener- Overrides:
windowDeactivatedin classWindowAdapter
-
windowClosing
- Specified by:
windowClosingin interfaceWindowListener- Overrides:
windowClosingin classWindowAdapter
-
componentResized
- Specified by:
componentResizedin interfaceComponentListener
-
componentMoved
- Specified by:
componentMovedin interfaceComponentListener
-
componentShown
- Specified by:
componentShownin interfaceComponentListener
-
componentHidden
- Specified by:
componentHiddenin interfaceComponentListener
-