我进入了UI阶段。
而且我在舞台上有一个BorderPane
。
现在,我想向layout
我想使用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 如何轻松导入?
注意:该文件存在于路径中
答案 0 :(得分:0)
问题是您的URI没有方案。
从到docs:
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并将图像放置在您的项目资源中。
答案 1 :(得分:0)
此模式对我有用:
-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;");