Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can i dynamically change the slider thumb icon image in a slider in javafx?

have slider in fxml file :

Slider fx:id="slider" minHeight="20" minWidth="-Infinity" prefWidth="300.0"

Want an slider thumb icon image to be change from my .java class as I can change the thumb icon image by using css

.slider .thumb{
 -fx-background-image :url("your image");   
 ...// more customization       
}

But I want to change the image from .java class

Please suggest..

Thanks

like image 397
user1859806 Avatar asked Apr 10 '13 13:04

user1859806


1 Answers

You can find thumb from Java code using Node#lookup() method.

String IMAGE = getClass().getResource("my-image.png").toExternalForm();

StackPane thumb = (StackPane)slider.lookup(".thumb");
thumb.getChildren().clear();
thumb.getChildren().add(new ImageView(IMAGE));

N.B.: Note you need to call this code after stage.show() to have lookup working correctly.

like image 157
Sergey Grinev Avatar answered Nov 11 '22 19:11

Sergey Grinev