Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试定位图像时setX和setY不工作_Java_Image_Javafx_Imageview_Javafx 2 - Fatal编程技术网

Java 尝试定位图像时setX和setY不工作

Java 尝试定位图像时setX和setY不工作,java,image,javafx,imageview,javafx-2,Java,Image,Javafx,Imageview,Javafx 2,我在JavaFX程序中使用图像视图上的setX和setY来定位图像时遇到问题。我不确定是什么问题?感谢您的帮助 这是我的密码: 我怀疑出了什么问题,因为我设置了背景图像。 用窗格替换堆栈窗格应该可以解决问题。如果要明确定义项目的布局位置(setX和setY),请不要将项目放在一个窗格中。StackPane是一个托管布局窗格。它将自动设置添加到其中的项目的位置(默认设置是将StackPane中的所有内容一个置于另一个之上居中) 而是使用a或a,它们不是受管理的布局窗格,允许您按照自己的意愿在窗格中

我在JavaFX程序中使用图像视图上的setX和setY来定位图像时遇到问题。我不确定是什么问题?感谢您的帮助
这是我的密码:

我怀疑出了什么问题,因为我设置了背景图像。

窗格
替换
堆栈窗格
应该可以解决问题。

如果要明确定义项目的布局位置(
setX
setY
),请不要将项目放在一个窗格中。StackPane是一个托管布局窗格。它将自动设置添加到其中的项目的位置(默认设置是将StackPane中的所有内容一个置于另一个之上居中)

而是使用a或a,它们不是受管理的布局窗格,允许您按照自己的意愿在窗格中布局内容

要在窗格中布局内容,可以使用and而不是setX和setY,不过我想setX和setY也应该可以工作(我以前从未在ImageView上使用过它们)


Pavlo,在我键入此内容时已经创建了一个答案(因此此答案是重复的),但我将保留此内容,因为它添加了更多的解释。

如果出于任何原因需要在StackPane中定位项目,您可以使用和。这些方法在StackPane完成布局后设置x和y值,因此根据StackPane为其子节点使用的对齐方式,您将有一个不同的起始位置。

Awesome,这有助于使StackPane中的一个节点居中,而另一个节点稍微微开。很高兴我没有错过这个答案!
        Image rocket2 = new Image("img/Rocket.png");
        ImageView iv1 = new ImageView(rocket2);
        iv1.setX(60);
        iv1.setY(44);

        Image rocket1 = new Image("img/Rocket.png");
        ImageView iv2 = new ImageView(rocket1);
        iv2.setX(5);
        iv2.setY(16);

        Image background = new Image("img/space.png");
        ImageView iv3 = new ImageView(background);

        StackPane root = new StackPane();
        root.getChildren().addAll(iv3, iv2, iv1);
        Scene scene = new Scene(root, 300, 300);
        scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
        primaryStage.setScene(scene);
        primaryStage.setResizable(false);
        primaryStage.setTitle("Space stuff");
        primaryStage.show();