为HBox设置背景图像-JavaFX

问题描述 投票:0回答:1

我无法为Hbox设置背景图片。我试过了:

HBoxName.setStyle("-fx-background-image: images/background.png");

在initialize方法中,然后我还尝试在Scene Builder中添加CSS样式:-fx-background-imageurl("images/background.png")。我该怎么办?

java css javafx styles
1个回答
0
投票

有几种方法可以为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));
© www.soinside.com 2019 - 2024. All rights reserved.