设置 StackPane 背景图片
Set StackPane background image
我想使用 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 一样调整图像的大小?
不要使用默认的 BackgroundSize,创建一个新的 BackgroundSize 并使用 BackgroundSize 构造函数的 contain 和 cover 参数。
例如(我只是通过阅读javadoc写的,我没有测试它):
new BackgroundSize(BackgroundSize.AUTO, BackgroundSize.AUTO, false, false, false, true);
我建议对这种样式使用 CSS stylesheet 而不是在 Java 中编写样式。
我想使用 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 一样调整图像的大小?
不要使用默认的 BackgroundSize,创建一个新的 BackgroundSize 并使用 BackgroundSize 构造函数的 contain 和 cover 参数。
例如(我只是通过阅读javadoc写的,我没有测试它):
new BackgroundSize(BackgroundSize.AUTO, BackgroundSize.AUTO, false, false, false, true);
我建议对这种样式使用 CSS stylesheet 而不是在 Java 中编写样式。