我想将背景图像设置为与我的窗口/屏幕相同的大小。
我更愿意在CSS
文件中执行此操作,但是我没有找到 来完成此操作。
我必须在javafx类文件中执行此操作吗?
谢谢你的帮助;)
最佳答案
如JavaFX window sizing所示,您将必须在Java代码中确定屏幕大小,无法在CSS中确定它。
对于图像,可以在Java代码中将以下内容用作ImageView imageView = new ImageView(image);
imageView.setFitWidth(Screen.getPrimary().getVisualBounds().getWidth());
imageView.setFitHeight(Screen.getPrimary().getVisualBounds().getHeight());
如果要将背景图像设置为场景,则:import javafx.application.Application;
import javafx.geometry.Rectangle2D;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.stage.*;
public class ScreenSizeImage extends Application {
@Override public void start(final Stage stage) {
// uncomment if you want the stage full screen.
//stage.setFullScreen(true);
Screen screen = Screen.getPrimary();
Rectangle2D bounds = screen.getVisualBounds();
stage.setX(bounds.getMinX());
stage.setY(bounds.getMinY());
stage.setWidth(bounds.getWidth());
stage.setHeight(bounds.getHeight());
StackPane root = new StackPane();
root.setStyle(
"-fx-background-image: url(" +
"'http://icons.iconarchive.com/icons/iconka/meow/256/cat-box-icon.png'" +
"); " +
"-fx-background-size: cover;"
);
stage.setScene(new Scene(root));
stage.show();
}
public static void main(String[] args) { launch(args); }
}
当然,最好使用单独的CSS样式表,而不是内联setStyle调用,如下所示:.root{
-fx-background-image: url("background_image.jpg");
-fx-background-size: cover;
}
关于java - 将背景图片设置为与Java应用中的窗口/屏幕相同的大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23515172/