From 4174b065f35881c6f91fa73e7bbfe59e2969efbd Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Wed, 16 Feb 2022 23:53:21 +0100 Subject: [PATCH] repaint component when setting client property `JComponent.outline` (issue #480) --- CHANGELOG.md | 6 ++++++ .../src/main/java/com/formdev/flatlaf/ui/FlatButtonUI.java | 4 ++++ .../main/java/com/formdev/flatlaf/ui/FlatComboBoxUI.java | 1 + .../main/java/com/formdev/flatlaf/ui/FlatScrollPaneUI.java | 4 ++++ .../src/main/java/com/formdev/flatlaf/ui/FlatSpinnerUI.java | 1 + .../main/java/com/formdev/flatlaf/ui/FlatTextFieldUI.java | 1 + .../com/formdev/flatlaf/testing/FlatComponentsTest.java | 1 - 7 files changed, 17 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c8e10f45..d94ecd82 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,12 @@ FlatLaf Change Log ================== +## 2.1-SNAPSHOT + +- Repaint component when setting client property `JComponent.outline` (issue + #480). + + ## 2.0.1 - Fixed memory leak in Panel, Separator and ToolBarSeparator. (issue #471; diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonUI.java index 331fa6fb..34d9bc67 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonUI.java @@ -262,6 +262,10 @@ public class FlatButtonUI b.repaint(); break; + case OUTLINE: + b.repaint(); + break; + case STYLE: case STYLE_CLASS: if( shared && FlatStylingSupport.hasStyleProperty( b ) ) { 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 f5c684bc..0b74b424 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 @@ -354,6 +354,7 @@ public class FlatComboBoxUI break; case COMPONENT_ROUND_RECT: + case OUTLINE: comboBox.repaint(); break; diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatScrollPaneUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatScrollPaneUI.java index 21c74b19..60144c98 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatScrollPaneUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatScrollPaneUI.java @@ -291,6 +291,10 @@ public class FlatScrollPaneUI } break; + case FlatClientProperties.OUTLINE: + scrollpane.repaint(); + break; + case FlatClientProperties.STYLE: case FlatClientProperties.STYLE_CLASS: installStyle(); diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatSpinnerUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatSpinnerUI.java index ff8ef5a8..f943b33c 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatSpinnerUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatSpinnerUI.java @@ -538,6 +538,7 @@ public class FlatSpinnerUI break; case FlatClientProperties.COMPONENT_ROUND_RECT: + case FlatClientProperties.OUTLINE: spinner.repaint(); break; diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextFieldUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextFieldUI.java index 65876191..7b75b43d 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextFieldUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextFieldUI.java @@ -232,6 +232,7 @@ public class FlatTextFieldUI switch( e.getPropertyName() ) { case PLACEHOLDER_TEXT: case COMPONENT_ROUND_RECT: + case OUTLINE: case TEXT_FIELD_PADDING: c.repaint(); break; 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 4756b04f..12983d6a 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 @@ -162,7 +162,6 @@ public class FlatComponentsTest ((JComponent)c).putClientProperty( FlatClientProperties.OUTLINE, outline ); } ); - repaint(); textField1.requestFocusInWindow(); }