设置StackPane背景图像

时间:2015-03-07 20:25:45

标签: javafx javafx-2 javafx-8

我想设置使用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一样调整图像大小?

1 个答案:

答案 0 :(得分:2)

不要使用默认的BackgroundSize,创建一个新的BackgroundSize并使用BackgroundSize构造函数的contains和cover参数。

例如(我刚刚通过阅读javadoc写了这个,我没有测试它):

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

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