如何使用JavaFX将图像设置为背景?

时间:2019-04-11 14:32:43

标签: java javafx

我正在尝试将图像作为背景放置在JavaFX场景中,但是我的代码无法正常工作。

我试图用java eclipse制作一个战舰游戏程序,但是我陷入了图形问题。

公共类WindowGUI扩展了应用程序{

Exception has occurred.
_TypeError (type 'List<dynamic>' is not a subtype of type 'Map<String, dynamic>')

}

当我第一次尝试运行它时,它起作用了,并且打开了一个新窗口,中间有一个按钮,但是bakcground是空白的。当我尝试在窗口中将图像设置为背景时,按“开始”按钮,没有任何反应。

2 个答案:

答案 0 :(得分:3)

一种更好的方法是使用Background类,而不是尝试将ImageView添加为BorderPane的子代。

Image image = new Image("C:\\Users\\amali\\git\\inf101.v19.sem2\\inf101.v19.sem2\\src\\window\\battleshipbackground.jpg");

BackgroundSize size = new BackgroundSize(BackgroundSize.AUTO, 
        BackgroundSize.AUTO, 
        false, 
        false, 
        true, 
        false);

Background background = new Background(new BackgroundImage(image,
        BackgroundRepeat.NO_REPEAT,
        BackgroundRepeat.NO_REPEAT,
        BackgroundPosition.CENTER,
        size));

newStack.setBackground(background);

答案 1 :(得分:0)