From 4da2bd90cbdb43afb88b672a6f88d822a5bf8d2d Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Tue, 16 Nov 2021 15:36:14 +0100 Subject: [PATCH 1/2] ComboBox: fixed regression in FlatLaf 1.6.3 that makes selected item invisible in popup list if `DefaultListCellRenderer` is used as renderer (issue #426) --- CHANGELOG.md | 9 +++++++++ .../main/java/com/formdev/flatlaf/ui/FlatComboBoxUI.java | 7 ++----- .../com/formdev/flatlaf/testing/FlatComponentsTest.java | 1 + 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 97afed73..80ccabbb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,15 @@ FlatLaf Change Log ================== +## 1.6.4 + +#### Fixed bugs + +- ComboBox: Fixed regression in FlatLaf 1.6.3 that makes selected item invisible + in popup list if `DefaultListCellRenderer` is used as renderer. If using + default renderer, it works. (issue #426) + + ## 1.6.3 #### Fixed bugs diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatComboBoxUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatComboBoxUI.java index 259fb550..d991ee3a 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatComboBoxUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatComboBoxUI.java @@ -498,11 +498,8 @@ public class FlatComboBoxUI // make renderer component temporary non-opaque to avoid that renderer paints // background outside of border if combobox uses larger arc for edges // (e.g. FlatClientProperties.COMPONENT_ROUND_RECT is true) - boolean oldOpaque = true; - if( c instanceof JComponent ) { - oldOpaque = ((JComponent)c).isOpaque(); + if( c instanceof JComponent ) ((JComponent)c).setOpaque( false ); - } boolean shouldValidate = (c instanceof JPanel); @@ -511,7 +508,7 @@ public class FlatComboBoxUI paddingBorder.uninstall(); if( c instanceof JComponent ) - ((JComponent)c).setOpaque( oldOpaque ); + ((JComponent)c).setOpaque( true ); } @Override diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatComponentsTest.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatComponentsTest.java index d63e1fd4..4756b04f 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatComponentsTest.java +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatComponentsTest.java @@ -1621,6 +1621,7 @@ public class FlatComponentsTest // customRenderer.setBorder( new LineBorder( Color.red ) ); // comboBox1.setRenderer( customRenderer ); // comboBox3.setRenderer( customRenderer ); +// comboBox5.setRenderer( new DefaultListCellRenderer() ); // for testing issue #382 // spinner1.setModel( new SpinnerNumberModel( 0, null, 100, 1 ) ); From 6c0b122fbcbb835ad2a97b395c45a2c229a63f4f Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Tue, 16 Nov 2021 15:37:19 +0100 Subject: [PATCH 2/2] release 1.6.4 --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index d9b018d8..5857ac40 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -14,7 +14,7 @@ * limitations under the License. */ -val releaseVersion = "1.6.3" +val releaseVersion = "1.6.4" val developmentVersion = "2.0-SNAPSHOT" version = if( java.lang.Boolean.getBoolean( "release" ) ) releaseVersion else developmentVersion