Package com.formdev.flatlaf.ui
Class FlatRadioButtonUI.AWTPeerMouseExitedFix
- java.lang.Object
-
- java.awt.event.MouseAdapter
-
- com.formdev.flatlaf.ui.FlatRadioButtonUI.AWTPeerMouseExitedFix
-
- All Implemented Interfaces:
java.awt.event.MouseListener,java.awt.event.MouseMotionListener,java.awt.event.MouseWheelListener,java.beans.PropertyChangeListener,java.util.EventListener
- Enclosing class:
- FlatRadioButtonUI
private static class FlatRadioButtonUI.AWTPeerMouseExitedFix extends java.awt.event.MouseAdapter implements java.beans.PropertyChangeListenerHack for missing mouse-exited event for java.awt.Checkbox on macOS (to fix hover effect). On macOS, AWT components internally use Swing components. This is implemented in class sun.lwawt.LWCheckboxPeer, which uses a container component CheckboxDelegate that has a JCheckBox and a JRadioButton as children. Only one of them is visible. The reason that mouse-exited event is not sent to the JCheckBox or JRadioButton is that sun.lwawt.LWComponentPeer.createDelegateEvent() uses SwingUtilities.getDeepestComponentAt() to find the event target, which finds the container component CheckboxDelegate, which receives the mouse-exited event. This class adds listeners and forwards the mouse-exited event from CheckboxDelegate to JCheckBox or JRadioButton.
-
-
Field Summary
Fields Modifier and Type Field Description private javax.swing.JComponentbutton
-
Constructor Summary
Constructors Constructor Description AWTPeerMouseExitedFix(javax.swing.JComponent button)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) static voidinstall(javax.swing.JComponent button)voidmouseExited(java.awt.event.MouseEvent e)voidpropertyChange(java.beans.PropertyChangeEvent e)(package private) static voiduninstall(javax.swing.JComponent button)
-
-
-
Method Detail
-
install
static void install(javax.swing.JComponent button)
-
uninstall
static void uninstall(javax.swing.JComponent button)
-
propertyChange
public void propertyChange(java.beans.PropertyChangeEvent e)
- Specified by:
propertyChangein interfacejava.beans.PropertyChangeListener
-
mouseExited
public void mouseExited(java.awt.event.MouseEvent e)
- Specified by:
mouseExitedin interfacejava.awt.event.MouseListener- Overrides:
mouseExitedin classjava.awt.event.MouseAdapter
-
-