Package com.formdev.flatlaf.ui
Class FlatPopupFactory.NonFlashingPopup
- java.lang.Object
-
- javax.swing.Popup
-
- com.formdev.flatlaf.ui.FlatPopupFactory.NonFlashingPopup
-
- Direct Known Subclasses:
FlatPopupFactory.DropShadowPopup
- Enclosing class:
- FlatPopupFactory
private class FlatPopupFactory.NonFlashingPopup extends javax.swing.Popup
Fixes popup background flashing effect when using dark theme on light platform theme, where the light popup background is shown for a fraction of a second before the dark popup content is shown. This is fixed by setting popup background to content background.Defers hiding of heavy weight popup window for an event cycle, which allows reusing popup window to avoid flicker when "moving" popup.
-
-
Field Summary
Fields Modifier and Type Field Description private java.awt.Component
contents
private javax.swing.Popup
delegate
private boolean
disposed
private java.awt.Color
oldPopupWindowBackground
(package private) java.awt.Component
owner
(package private) java.awt.Window
popupWindow
-
Constructor Summary
Constructors Modifier Constructor Description private
NonFlashingPopup(FlatPopupFactory.NonFlashingPopup reusePopup)
(package private)
NonFlashingPopup(javax.swing.Popup delegate, java.awt.Component owner, java.awt.Component contents)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) FlatPopupFactory.NonFlashingPopup
cloneForReuse()
void
hide()
(package private) void
hideImpl()
(package private) void
reset(java.awt.Component contents, int ownerX, int ownerY)
void
show()
(package private) void
showImpl()
-
-
-
Constructor Detail
-
NonFlashingPopup
NonFlashingPopup(javax.swing.Popup delegate, java.awt.Component owner, java.awt.Component contents)
-
NonFlashingPopup
private NonFlashingPopup(FlatPopupFactory.NonFlashingPopup reusePopup)
-
-
Method Detail
-
cloneForReuse
FlatPopupFactory.NonFlashingPopup cloneForReuse()
-
show
public final void show()
- Overrides:
show
in classjavax.swing.Popup
-
showImpl
void showImpl()
-
hide
public final void hide()
- Overrides:
hide
in classjavax.swing.Popup
-
hideImpl
void hideImpl()
-
reset
void reset(java.awt.Component contents, int ownerX, int ownerY)
-
-