2013-04-10 28 views
5

có thanh trượt trong tập tin fxml:Làm cách nào tôi có thể tự động thay đổi hình ảnh biểu tượng hình cái trượt trong thanh trượt trong javafx?

Slider fx: id = "trượt" minheight = "20" MinWidth = "- Infinity" prefWidth = "300.0"

Muốn một thanh trượt hình ảnh biểu tượng ngón tay cái là thay đổi từ lớp java của tôi như tôi có thể thay đổi hình ảnh biểu tượng ngón tay cái bằng cách sử dụng css

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

Nhưng tôi muốn thay đổi hình ảnh từ java lớp

Xin đề nghị ..

Cảm ơn

Trả lời

4

Bạn có thể tìm thấy ngón tay cái từ mã Java sử dụng Node#lookup() phương pháp.

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 .: Lưu ý bạn cần phải gọi mã này sau stage.show() có tra cứu làm việc một cách chính xác.

+0

Cảm ơn đề xuất nhưng nhận được giá trị rỗng bằng ngón tay cái StackPane thumb = (StackPane) slider.lookup (". Thumb"); nó thowrs một NullPointerException nơi trong tệp .css tôi đã đặt .slider .thumb { -fx-background-image: url ("../ images/iconSlider.png") no-repeat; } – user1859806

+0

xin lỗi, đã bỏ lỡ một điều - xem câu trả lời được cập nhật. –

Các vấn đề liên quan