Как изменить цвет внутреннего слайда в RangeSlider (JavaFX)? - PullRequest
0 голосов
/ 27 августа 2018

Я пытаюсь изменить CSS RangeSlider

Я использую эту maven-зависимость в моем файле FXML

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

его идентификатор в файле fxml:

<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 голосов
/ 27 августа 2018

Узел, отвечающий за цвет между большими пальцами, - это StackPane с классом стиля range-bar. -fx-background-color по умолчанию -fx-focus-color, но вы можете переопределить это свойство:

#rangeSlider .range-bar {
    -fx-background-color: red;
}

Если вы хотите ознакомиться с деталями, обратитесь к RangeSliderSkin.initRangeBar коду и / или rangeslider.css.

...