在 JavaFX 中将 ImageView[] 数组添加到 BorderPane 时出错
Error while adding ImageView[] array to BorderPane in JavaFX
我做了一个ImageView
数组:
public static ImageView[] array = new ImageView[2];
然后设置ImageView
:
ImageView img = new ImageView(new Image("sample.png"));
array [0] = img;
array [1] = img;
然后将其添加到屏幕:
root.getChildren().add(array [0]);
root.getChildren().add(array [1]);
错误:
Exception in thread "JavaFX Application Thread" java.lang.IllegalArgumentException: Children: duplicate children added: parent = BorderPane@78e30575
所以,我的错误在哪里?
错误消息确实说明了一切。您不能两次添加相同的 child,并且在您的代码段中 array[0]
和 array[1]
都指向相同的 object。但是,您可以添加两个使用相同图像的 object:
array[0] = new ImageView(new Image("sample.png"));
array[1] = new ImageView(new Image("sample.png"));
我做了一个ImageView
数组:
public static ImageView[] array = new ImageView[2];
然后设置ImageView
:
ImageView img = new ImageView(new Image("sample.png"));
array [0] = img;
array [1] = img;
然后将其添加到屏幕:
root.getChildren().add(array [0]);
root.getChildren().add(array [1]);
错误:
Exception in thread "JavaFX Application Thread" java.lang.IllegalArgumentException: Children: duplicate children added: parent = BorderPane@78e30575
所以,我的错误在哪里?
错误消息确实说明了一切。您不能两次添加相同的 child,并且在您的代码段中 array[0]
和 array[1]
都指向相同的 object。但是,您可以添加两个使用相同图像的 object:
array[0] = new ImageView(new Image("sample.png"));
array[1] = new ImageView(new Image("sample.png"));