Package com.formdev.flatlaf
Class LinuxPopupMenuCanceler
- java.lang.Object
-
- java.awt.event.WindowAdapter
-
- com.formdev.flatlaf.LinuxPopupMenuCanceler
-
- All Implemented Interfaces:
java.awt.event.ComponentListener,java.awt.event.WindowFocusListener,java.awt.event.WindowListener,java.awt.event.WindowStateListener,java.util.EventListener,javax.swing.event.ChangeListener
class LinuxPopupMenuCanceler extends java.awt.event.WindowAdapter implements javax.swing.event.ChangeListener, java.awt.event.ComponentListenerCancels (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 Modifier and Type Field Description private javax.swing.MenuElement[]lastPathSelectedPathprivate java.awt.Windowwindow
-
Constructor Summary
Constructors Constructor Description LinuxPopupMenuCanceler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidaddWindowListeners(javax.swing.MenuElement selected)private voidcancelPopupMenu()voidcomponentHidden(java.awt.event.ComponentEvent e)voidcomponentMoved(java.awt.event.ComponentEvent e)voidcomponentResized(java.awt.event.ComponentEvent e)voidcomponentShown(java.awt.event.ComponentEvent e)private voidremoveWindowListeners()voidstateChanged(javax.swing.event.ChangeEvent e)(package private) voiduninstall()voidwindowClosing(java.awt.event.WindowEvent e)voidwindowDeactivated(java.awt.event.WindowEvent e)voidwindowIconified(java.awt.event.WindowEvent e)
-
-
-
Method Detail
-
uninstall
void uninstall()
-
addWindowListeners
private void addWindowListeners(javax.swing.MenuElement selected)
-
removeWindowListeners
private void removeWindowListeners()
-
cancelPopupMenu
private void cancelPopupMenu()
-
stateChanged
public void stateChanged(javax.swing.event.ChangeEvent e)
- Specified by:
stateChangedin interfacejavax.swing.event.ChangeListener
-
windowIconified
public void windowIconified(java.awt.event.WindowEvent e)
- Specified by:
windowIconifiedin interfacejava.awt.event.WindowListener- Overrides:
windowIconifiedin classjava.awt.event.WindowAdapter
-
windowDeactivated
public void windowDeactivated(java.awt.event.WindowEvent e)
- Specified by:
windowDeactivatedin interfacejava.awt.event.WindowListener- Overrides:
windowDeactivatedin classjava.awt.event.WindowAdapter
-
windowClosing
public void windowClosing(java.awt.event.WindowEvent e)
- Specified by:
windowClosingin interfacejava.awt.event.WindowListener- Overrides:
windowClosingin classjava.awt.event.WindowAdapter
-
componentResized
public void componentResized(java.awt.event.ComponentEvent e)
- Specified by:
componentResizedin interfacejava.awt.event.ComponentListener
-
componentMoved
public void componentMoved(java.awt.event.ComponentEvent e)
- Specified by:
componentMovedin interfacejava.awt.event.ComponentListener
-
componentShown
public void componentShown(java.awt.event.ComponentEvent e)
- Specified by:
componentShownin interfacejava.awt.event.ComponentListener
-
componentHidden
public void componentHidden(java.awt.event.ComponentEvent e)
- Specified by:
componentHiddenin interfacejava.awt.event.ComponentListener
-
-