From a8423f77415fd3c8abb164573103304c34386c43 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Mon, 27 Jul 2020 14:41:01 +0200 Subject: [PATCH] ScrollBar: increased minimum thumb size on macOS and Linux to 18px and on Windows to 10px; also include ScrollBar.thumbInsets in minimum size calculation (issue #131) --- CHANGELOG.md | 6 ++++-- .../main/java/com/formdev/flatlaf/ui/FlatScrollBarUI.java | 4 ++-- .../main/resources/com/formdev/flatlaf/FlatLaf.properties | 4 ++++ .../testing/uidefaults/FlatDarkLaf_1.8.0_202-linux.txt | 3 +++ .../testing/uidefaults/FlatDarkLaf_1.8.0_202-mac.txt | 3 +++ .../flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202.txt | 4 ++-- .../testing/uidefaults/FlatLightLaf_1.8.0_202-linux.txt | 3 +++ .../testing/uidefaults/FlatLightLaf_1.8.0_202-mac.txt | 3 +++ .../flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202.txt | 4 ++-- 9 files changed, 26 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 619117b8..1d1339d4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,10 +6,12 @@ FlatLaf Change Log - Animated theme change (see [FlatLaf Extras](flatlaf-extras)). - Custom window decorations: Fixed maximized window bounds when programmatically maximizing window. E.g. restoring window state at startup. (issue #129) -- InternalFrame: Title pane height was too small when iconify, maximize and close - buttons are hidden. (issue #132) +- InternalFrame: Title pane height was too small when iconify, maximize and + close buttons are hidden. (issue #132) - ScrollPane: Enable/disable smooth scrolling per component if client property "JScrollPane.smoothScrolling" is set to a `Boolean` on `JScrollPane`. +- ScrollBar: Increased minimum thumb size on macOS and Linux from 8 to 18 + pixels. On Windows, it is now 10 pixels. (issue #131) ## 0.38 diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatScrollBarUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatScrollBarUI.java index e5b71d8d..a54421fb 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatScrollBarUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatScrollBarUI.java @@ -284,12 +284,12 @@ public class FlatScrollBarUI @Override protected Dimension getMinimumThumbSize() { - return UIScale.scale( super.getMinimumThumbSize() ); + return UIScale.scale( FlatUIUtils.addInsets( super.getMinimumThumbSize(), thumbInsets ) ); } @Override protected Dimension getMaximumThumbSize() { - return UIScale.scale( super.getMaximumThumbSize() ); + return UIScale.scale( FlatUIUtils.addInsets( super.getMaximumThumbSize(), thumbInsets ) ); } //---- class ScrollBarHoverListener --------------------------------------- diff --git a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties index e8cae40a..4c004423 100644 --- a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties +++ b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties @@ -438,6 +438,8 @@ RootPane.honorDialogMinimumSizeOnResize=true #---- ScrollBar ---- ScrollBar.width=10 +ScrollBar.minimumThumbSize=10,10 +ScrollBar.maximumThumbSize=100000,100000 ScrollBar.trackInsets=0,0,0,0 ScrollBar.thumbInsets=0,0,0,0 ScrollBar.trackArc=0 @@ -450,10 +452,12 @@ ScrollBar.buttonArrowColor=$ComboBox.buttonArrowColor ScrollBar.buttonDisabledArrowColor=$ComboBox.buttonDisabledArrowColor ScrollBar.allowsAbsolutePositioning=true +[mac]ScrollBar.minimumThumbSize=18,18 [mac]ScrollBar.thumbInsets=2,2,2,2 [mac]ScrollBar.thumbArc=999 [mac]ScrollBar.hoverThumbWithTrack=true +[linux]ScrollBar.minimumThumbSize=18,18 [linux]ScrollBar.thumbInsets=2,2,2,2 [linux]ScrollBar.thumbArc=999 diff --git a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202-linux.txt b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202-linux.txt index b25d8e0b..53feaf64 100644 --- a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202-linux.txt +++ b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202-linux.txt @@ -7,6 +7,9 @@ - ProgressBar.font [active] Segoe UI plain 10 javax.swing.plaf.FontUIResource [UI] + ProgressBar.font [active] Cantarell plain 13 javax.swing.plaf.FontUIResource [UI] +- ScrollBar.minimumThumbSize 10,10 javax.swing.plaf.DimensionUIResource [UI] ++ ScrollBar.minimumThumbSize 18,18 javax.swing.plaf.DimensionUIResource [UI] + - ScrollBar.thumbArc 0 + ScrollBar.thumbArc 999 diff --git a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202-mac.txt b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202-mac.txt index 4be7d02b..7a4016df 100644 --- a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202-mac.txt +++ b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202-mac.txt @@ -22,6 +22,9 @@ - ScrollBar.hoverThumbWithTrack false + ScrollBar.hoverThumbWithTrack true +- ScrollBar.minimumThumbSize 10,10 javax.swing.plaf.DimensionUIResource [UI] ++ ScrollBar.minimumThumbSize 18,18 javax.swing.plaf.DimensionUIResource [UI] + - ScrollBar.thumbArc 0 + ScrollBar.thumbArc 999 diff --git a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202.txt b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202.txt index f376be3d..3a62a9d7 100644 --- a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202.txt +++ b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202.txt @@ -783,8 +783,8 @@ ScrollBar.hoverButtonBackground #484c4e com.formdev.flatlaf.util.DerivedColor ScrollBar.hoverThumbColor #6e767a com.formdev.flatlaf.util.DerivedColor [UI] lighten(10%) ScrollBar.hoverThumbWithTrack false ScrollBar.hoverTrackColor #484c4f com.formdev.flatlaf.util.DerivedColor [UI] lighten(4%) -ScrollBar.maximumThumbSize 4096,4096 javax.swing.plaf.DimensionUIResource [UI] -ScrollBar.minimumThumbSize 8,8 javax.swing.plaf.DimensionUIResource [UI] +ScrollBar.maximumThumbSize 100000,100000 javax.swing.plaf.DimensionUIResource [UI] +ScrollBar.minimumThumbSize 10,10 javax.swing.plaf.DimensionUIResource [UI] ScrollBar.pressedButtonBackground #54595c com.formdev.flatlaf.util.DerivedColor [UI] lighten(10%) ScrollBar.pressedThumbColor #7a8387 com.formdev.flatlaf.util.DerivedColor [UI] lighten(15%) ScrollBar.pressedThumbWithTrack false diff --git a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202-linux.txt b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202-linux.txt index b25d8e0b..53feaf64 100644 --- a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202-linux.txt +++ b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202-linux.txt @@ -7,6 +7,9 @@ - ProgressBar.font [active] Segoe UI plain 10 javax.swing.plaf.FontUIResource [UI] + ProgressBar.font [active] Cantarell plain 13 javax.swing.plaf.FontUIResource [UI] +- ScrollBar.minimumThumbSize 10,10 javax.swing.plaf.DimensionUIResource [UI] ++ ScrollBar.minimumThumbSize 18,18 javax.swing.plaf.DimensionUIResource [UI] + - ScrollBar.thumbArc 0 + ScrollBar.thumbArc 999 diff --git a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202-mac.txt b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202-mac.txt index 4be7d02b..7a4016df 100644 --- a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202-mac.txt +++ b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202-mac.txt @@ -22,6 +22,9 @@ - ScrollBar.hoverThumbWithTrack false + ScrollBar.hoverThumbWithTrack true +- ScrollBar.minimumThumbSize 10,10 javax.swing.plaf.DimensionUIResource [UI] ++ ScrollBar.minimumThumbSize 18,18 javax.swing.plaf.DimensionUIResource [UI] + - ScrollBar.thumbArc 0 + ScrollBar.thumbArc 999 diff --git a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202.txt b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202.txt index cec22988..d1bb5c28 100644 --- a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202.txt +++ b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202.txt @@ -788,8 +788,8 @@ ScrollBar.hoverButtonBackground #e5e5e5 com.formdev.flatlaf.util.DerivedColor ScrollBar.hoverThumbColor #c3c3c3 com.formdev.flatlaf.util.DerivedColor [UI] darken(10%) ScrollBar.hoverThumbWithTrack false ScrollBar.hoverTrackColor #ededed com.formdev.flatlaf.util.DerivedColor [UI] darken(3%) -ScrollBar.maximumThumbSize 4096,4096 javax.swing.plaf.DimensionUIResource [UI] -ScrollBar.minimumThumbSize 8,8 javax.swing.plaf.DimensionUIResource [UI] +ScrollBar.maximumThumbSize 100000,100000 javax.swing.plaf.DimensionUIResource [UI] +ScrollBar.minimumThumbSize 10,10 javax.swing.plaf.DimensionUIResource [UI] ScrollBar.pressedButtonBackground #d9d9d9 com.formdev.flatlaf.util.DerivedColor [UI] darken(10%) ScrollBar.pressedThumbColor #a9a9a9 com.formdev.flatlaf.util.DerivedColor [UI] darken(20%) ScrollBar.pressedThumbWithTrack false