【问题标题】:Set StackPane background image设置 StackPane 背景图片
【发布时间】:2015-05-09 06:54:15
【问题描述】:

我想用 StackPane 设置背景图片自动调整大小。

我试过了:

StackPane stackPane = new StackPane();
Image im = new Image(Dashboardpanel.class.getResource("/images/11.jpg").toExternalForm()); 
stackPane.setBackground(new Background(new BackgroundImage(im, BackgroundRepeat.NO_REPEAT, BackgroundRepeat.NO_REPEAT, BackgroundPosition.CENTER, BackgroundSize.DEFAULT)));

但是当我调整 StackPane 的大小时,图像不会自动调整大小。重复图像以填补空白。无论我如何扩展 StackPane,如何像 Stackpane 一样调整图像大小?

【问题讨论】:

    标签: javafx javafx-2 javafx-8


    【解决方案1】:

    不要使用默认的 BackgroundSize,创建一个新的 BackgroundSize 并使用 BackgroundSize 构造函数的包含和覆盖参数。

    例如(我只是通过阅读javadoc写的,我没有测试它):

    new BackgroundSize(BackgroundSize.AUTO, BackgroundSize.AUTO, false, false, false, true);
    

    我建议对这种样式使用 CSS stylesheet,而不是用 Java 编写样式。

    【讨论】:

    • 这是正确的吗? stackPane.setBackground(new Background(new BackgroundImage(im, BackgroundRepeat.NO_REPEAT, BackgroundRepeat.NO_REPEAT, BackgroundPosition.CENTER, new BackgroundSize(BackgroundSize.AUTO, BackgroundSize.AUTO, 0, 0, false, true))));?我得到不兼容的类型:int 无法转换为 boolean
    猜你喜欢
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2020-11-21
    • 2012-03-07
    • 2020-07-03
    • 2011-09-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多