【问题标题】:How can i dynamically change the slider thumb icon image in a slider in javafx?如何在 javafx 的滑块中动态更改滑块拇指图标图像?
【发布时间】:2013-04-02 08:29:59
【问题描述】:

在 fxml 文件中有滑块:

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

想要从我的 .java 类更改滑块拇指图标图像,因为我可以使用 css 更改拇指图标图像

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

但我想从 .java 类中更改图像

请建议..

谢谢

【问题讨论】:

    标签: image slider javafx-2


    【解决方案1】:

    你可以使用Node#lookup()方法从Java代码中找到thumb。

    String IMAGE = getClass().getResource("my-image.png").toExternalForm();
    
    StackPane thumb = (StackPane)slider.lookup(".thumb");
    thumb.getChildren().clear();
    thumb.getChildren().add(new ImageView(IMAGE));
    

    注意:请注意,您需要在 stage.show() 之后调用此代码才能使查找正常工作。

    【讨论】:

    • 感谢您的建议,但在 thumb StackPane thumb = (StackPane)slider.lookup(".thumb");它抛出一个 NullPointerException,在 .css 文件中我设置了 .slider .thumb{ -fx-background-image:url("../images/iconSlider.png") no-repeat; }
    猜你喜欢
    • 2012-11-07
    • 2022-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多