如何在RangeSlider(JavaFX)中更改内部幻灯片的颜色?

时间:2018-08-27 15:53:34

标签: css javafx controlsfx javafx-css

我正在尝试更改RangeSlider 的CSS

我在Integtare中使用此Maven依赖项,将其保存在我的FXML文件中

    <dependency>
        <groupId>org.controlsfx</groupId>
        <artifactId>controlsfx</artifactId>
        <version>8.40.12</version>
    </dependency

它在fxml文件中的ID是:

<RangeSlider fx:id="rangeSlider"

我将其注入控制器中:

@FXML
private RangeSlider rangeSlider 

然后我设置一个ID以使用CSS更改其外观:

@Override
public void initialize(URL url, ResourceBundle rb){

    rangeSlider.adjustHighValue(30);
    rangeSlider.setId("rangeSlider");
}

以及CSS方面:

#rangeSlider .thumb {
    -fx-background-color: #2196f3;
}

#rangeSlider .track{
    -fx-background-color: #151928;
}

我不知道如何更改内部的蓝色

enter image description here 非常感谢

1 个答案:

答案 0 :(得分:2)

负责拇指之间颜色的节点是样式类型为StackPane的{​​{1}}。 range-bar默认为-fx-background-color,但是您可以覆盖此属性:

-fx-focus-color

如果要查看详细信息,请参考RangeSliderSkin.initRangeBar代码和/或rangeslider.css