diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/FloatScrollBarSkin.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/FloatScrollBarSkin.java index 1b2c39d7a7..43ccdd7b3f 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/FloatScrollBarSkin.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/FloatScrollBarSkin.java @@ -128,14 +128,18 @@ private void setup() { track.widthProperty().unbind(); track.heightProperty().unbind(); + double offset = 4; + if (scrollBar.getOrientation() == Orientation.HORIZONTAL) { - track.relocate(0, -8); - track.widthProperty().bind(scrollBar.widthProperty()); - track.setHeight(8); + track.relocate(offset, -5.0); + NumberBinding trackWidth = Bindings.subtract(scrollBar.widthProperty(), offset * 2); + track.widthProperty().bind(trackWidth); + track.setHeight(5.0); } else { - track.relocate(-8, 0); - track.setWidth(8); - track.heightProperty().bind(scrollBar.heightProperty()); + track.relocate(-5.0, offset); + track.setWidth(5.0); + NumberBinding trackHeight = Bindings.subtract(scrollBar.heightProperty(), offset * 2); + track.heightProperty().bind(trackHeight); } thumb.xProperty().unbind(); @@ -144,15 +148,25 @@ private void setup() { thumb.heightProperty().unbind(); if (scrollBar.getOrientation() == Orientation.HORIZONTAL) { - thumb.relocate(0, -8); - thumb.widthProperty().bind(Bindings.max(20, scrollBar.visibleAmountProperty().divide(range).multiply(scrollBar.widthProperty()))); - thumb.setHeight(8); - thumb.xProperty().bind(Bindings.subtract(scrollBar.widthProperty(), thumb.widthProperty()).multiply(position)); + thumb.relocate(0, -5.0); + thumb.setHeight(5.0); + + NumberBinding trackWidth = Bindings.subtract(scrollBar.widthProperty(), offset * 2); + thumb.widthProperty().bind(Bindings.max(20, scrollBar.visibleAmountProperty().divide(range).multiply(trackWidth))); + thumb.xProperty().bind( + Bindings.add(offset, + Bindings.subtract(trackWidth, thumb.widthProperty()).multiply(position)) + ); } else { - thumb.relocate(-8, 0); - thumb.setWidth(8); - thumb.heightProperty().bind(Bindings.max(20, scrollBar.visibleAmountProperty().divide(range).multiply(scrollBar.heightProperty()))); - thumb.yProperty().bind(Bindings.subtract(scrollBar.heightProperty(), thumb.heightProperty()).multiply(position)); + thumb.relocate(-5.0, 0); + thumb.setWidth(5.0); + + NumberBinding trackHeight = Bindings.subtract(scrollBar.heightProperty(), offset * 2); + thumb.heightProperty().bind(Bindings.max(20, scrollBar.visibleAmountProperty().divide(range).multiply(trackHeight))); + thumb.yProperty().bind( + Bindings.add(offset, + Bindings.subtract(trackHeight, thumb.heightProperty()).multiply(position)) + ); } } @@ -162,7 +176,7 @@ protected double computeMaxWidth(double height) { return Double.MAX_VALUE; } - return 8; + return 5.0; } @Override @@ -171,7 +185,7 @@ protected double computeMaxHeight(double width) { return Double.MAX_VALUE; } - return 8; + return 5.0; } }; } diff --git a/HMCL/src/main/resources/assets/css/root.css b/HMCL/src/main/resources/assets/css/root.css index 799882b6d8..87193cc4a1 100644 --- a/HMCL/src/main/resources/assets/css/root.css +++ b/HMCL/src/main/resources/assets/css/root.css @@ -29,8 +29,8 @@ .scroll-bar .thumb { -fx-fill: -monet-surface-tint; - -fx-arc-width: 8; - -fx-arc-height: 8; + -fx-arc-width: 4.5; + -fx-arc-height: 4.5; } .title-label {