JavaFX背景图像缩放

时间:2016-12-02 00:45:09

标签: java css javafx background-image javafx-css

我有这段代码,工作正常。

gamePane.setPrefSize(game.getMaxX(), game.getMaxY());

然而,我的gamePanePane)背景图片已经自动缩放,我不想这样做。我搜索了背景缩放属性,但我找不到任何东西。 该图像最初使用css。

编辑:我找到了解决方案!

我的css代码原来是什么:

.background {
    -fx-background-image: url("../images/background.png");
}

我做到了:

.background {
    -fx-background-image: url("../images/background.png");
    -fx-background-size: 1024 768;
    -fx-background-position: center;
}

1 个答案:

答案 0 :(得分:0)

默认情况下,背景图片不应缩放,而是重复自身,您可以使用no-repeat作为-fx-background-repeat来阻止这种情况:

@Override
public void start(Stage primaryStage) {
    Pane root = new Pane();
    root.getStyleClass().add("container");

    Scene scene = new Scene(root);

    primaryStage.setScene(scene);
    scene.getStylesheets().add(getClass().getResource("style.css").toExternalForm());
    primaryStage.show();
}

<强>的style.css

.container {
    -fx-background-image: url('http://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-logo.png?v=9c558ec15d8a');
    -fx-background-repeat: no-repeat;
}