From 9f17a5b26d560ae4ca160e9d8a8b8a441616f0c2 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Wed, 10 Jan 2024 19:19:01 +0100 Subject: [PATCH] TableHeader: restore also renderer foreground after hover --- .../com/formdev/flatlaf/ui/FlatTableHeaderUI.java | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTableHeaderUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTableHeaderUI.java index 5bdc2524b..91184b6f9 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTableHeaderUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTableHeaderUI.java @@ -356,13 +356,10 @@ public void paintComponent( Graphics g, Component c, Container p, int x, int y, JLabel l = (JLabel) c; Color oldBackground = null; Color oldForeground = null; - Boolean oldOpaque = null; + boolean oldOpaque = false; Icon oldIcon = null; int oldHorizontalTextPosition = -1; - // needed when we have to restore the label background after hover and the renderer is opaque - boolean restoreBackground = false; - // hover and pressed background/foreground TableColumn draggedColumn = header.getDraggedColumn(); Color background = null; @@ -380,7 +377,6 @@ public void paintComponent( Graphics g, Component c, Container p, int x, int y, if( background != null ) { oldBackground = l.getBackground(); oldOpaque = l.isOpaque(); - restoreBackground = true; l.setBackground( FlatUIUtils.deriveColor( background, header.getBackground() ) ); l.setOpaque( true ); } @@ -419,12 +415,12 @@ public void paintComponent( Graphics g, Component c, Container p, int x, int y, } // restore modified renderer component properties - if( restoreBackground ) + if( background != null ) { l.setBackground( oldBackground ); - if( oldForeground != null ) - l.setForeground( oldForeground ); - if( oldOpaque != null ) l.setOpaque( oldOpaque ); + } + if( foreground != null ) + l.setForeground( oldForeground ); if( oldIcon != null ) l.setIcon( oldIcon ); if( oldHorizontalTextPosition >= 0 )