簡體   English   中英

BorderPane javafx的背景

[英]background to BorderPane javafx

我進入了UI階段。 我在舞台上有一個BorderPane 現在,我想向layout添加一個bacgGround圖像

我想使用CSS,但是不起作用

    public void start(Stage primaryStage) throws Exception {
    carStage = new Stage();
    BorderPane layout = new BorderPane();
    carScene = new Scene(layout);
    carStage.setTitle("רכב");
    GridPane center = new GridPane();
    enterFieldsToCenter(center);
    right(layout);
    layout.setCenter(center);
    layout.setStyle("style.css");
    carStage.setScene(carScene);
    layout.getCenter().setStyle("-fx-background-image: url(\"C:\\Users\\itayz\\eclipse-workspace\\Itay'sCar\\src\\CrystalClear.jpg\");"
            + "-fx-background-size: 500, 500;"
            + "-fx-background-repeat: no-repeat;");

    sizeOfStage();
    carStage.show();

}

背景來自: https : //uigradients.com/#CrystalClear如何輕松導入?

注意:該文件存在於路徑中

問題是您的URI沒有方案。

從到文檔

url ( [\\"\\']? <address> [\\"\\']? )

<address>可以是絕對URI,例如:

  • url(http://example.com)

  • url('http://example.com')

  • url("http://example.com")

或者可以相對於CSS文件的位置。

因此,您必須在方案中使用絕對URL:

layout.getCenter().setStyle("-fx-background-image: url(\"file:///C:/Users/itayz/eclipse-workspace/Itay'sCar/src/CrystalClear.jpg\");"
        + "-fx-background-size: 500, 500;"
        + "-fx-background-repeat: no-repeat;");

除此之外,我建議使用相對URL並將圖像放置在您的項目資源中。

這種模式對我有用:

-fx-background-image: url('file:C:/Data/example.jpg');

因此,在您的情況下,它將是:

layout.getCenter().setStyle("-fx-background-image: url('file:C:/Users/itayz/eclipse-workspace/Itay'sCar/src/CrystalClear.jpg');"
                                    + "-fx-background-size: 500, 500;"
                                    + "-fx-background-repeat: no-repeat;");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM