在JavaFX中将ImageView[]数组添加到BorderPane时出错



我制作了一个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

那么,我的错误在哪里?

错误信息说明了一切。您不能添加相同的子对象两次,并且在代码片段中array[0]array[1]都指向同一个对象。但是,您可以添加两个使用相同图像的对象:

array[0] = new ImageView(new Image("sample.png"));
array[1] = new ImageView(new Image("sample.png"));

相关内容

  • 没有找到相关文章

最新更新