我无法为Hbox设置背景图片。我试过了:
HBoxName.setStyle("-fx-background-image: images/background.png");
在initialize方法中,然后我还尝试在Scene Builder中添加CSS样式:-fx-background-image
和url("images/background.png")
。我该怎么办?
有几种方法可以为HBox设置背景图像,
1。使用CSS
使用setStyle
方法
使用setStyle()
方法直接设置背景图像,
HBoxName.setStyle("-fx-background-image: url('images/background.png');" +
"-fx-background-repeat: stretch;" +
"-fx-background-size: 1000 700;" +
"-fx-background-position: center center;");
使用外部CSS
文件
您应该创建一个外部CSS文件,将其加载到场景中(或者也可以将CSS文件加载到任何控件中,]
scene.getStylesheets().add(
this.getClass().getClassLoader().getResource("style.css").toString()
);
在style.css
文件中添加这些样式,
#HBoxName{
-fx-background-image: url("images/background.png");
-fx-background-repeat: stretch;
-fx-background-size: 1000 700;
-fx-background-position: center center;
}
参考
2。使用BackgroundImage
设置setBackground()
您也可以通过编程方式设置背景图像。
BackgroundSize backgroundSize = new BackgroundSize(900,
700,
true,
true,
true,
false);
BackgroundImage image = new BackgroundImage(new Image("image/background.png"),
BackgroundRepeat.NO_REPEAT,
BackgroundRepeat.NO_REPEAT,
BackgroundPosition.CENTER,
backgroundSize);
HBoxName.setBackground(new Background(image));