我想设置使用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一样调整图像大小?
答案 0 :(得分:2)
不要使用默认的BackgroundSize,创建一个新的BackgroundSize并使用BackgroundSize构造函数的contains和cover参数。
例如(我刚刚通过阅读javadoc写了这个,我没有测试它):
new BackgroundSize(BackgroundSize.AUTO, BackgroundSize.AUTO, false, false, false, true);
我建议使用CSS stylesheet来表示这种样式,而不是用Java编写样式。