в приведенном ниже коде, когда я использую только строку 54 (комментарий в строке 55), она отлично работает. Но когда я исполняю с линией 55 в действии, я получаю эту ошибкуОшибка JavaFx при передаче массива в root.getChildren(). Add()
, вызванные: добавлены дублирующие детей:: java.lang.IllegalArgumentException: Дети родитель = Pane @ 16d2d0b
Image white = new Image("/javafxapplication1/white.png");
ImageView whiteView = new ImageView(white);
Image red = new Image("/javafxapplication1/red.png");
ImageView redView = new ImageView(red);
ImageView[] whiteArray = new ImageView[3];
ImageView[] redArray = new ImageView[3];
//the points of columns int the board map
int[][] whitepoints={{54,27},{235,27},{417,27}};
int[][] redpoints={{145,27},{325,27},{507,27}};
whiteArray[0]=whiteView;
whiteArray[0].setLayoutX(whitepoints[0][0]);
whiteArray[0].setLayoutY(whitepoints[0][1]);
whiteArray[1]=whiteView;
whiteArray[1].setLayoutX(whitepoints[1][0]);
whiteArray[1].setLayoutY(whitepoints[1][1]);
Pane root = new Pane();
imgView.fitWidthProperty().bind(primaryStage.widthProperty());
imgView.fitHeightProperty().bind(primaryStage.heightProperty());
root.getChildren().add(imgView);
54!!! root.getChildren().add(whiteArray[0]);
55!!! root.getChildren().add(whiteArray[1]);
Scene scene = new Scene(root);
primaryStage.setTitle("Backgammon!");
primaryStage.setScene(scene);
primaryStage.show();
Спасибо !!!
Сообщение об ошибке говорит вам проблема: вы добавляете тот же '' ImageView' к root' дважды , –
довольно запутан с использованием ImageView [], что это работает как классический массив ...!? –
Ну, да, что бы это было? Дело в том, что 'whiteArray [0]' и 'whiteArray [1]' относятся к одному и тому же объекту. –