我无法为 Hbox 设置背景图像。 我试过这个:
HBoxName.setStyle("-fx-background-image: images/background.png");
在初始化方法中,然后我还尝试在场景生成器中添加 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; }
引用
JavaFX CSS 参考指南
应用CSS
- FXML 上的 CSS 文件
阿拉伯数字。使用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));