public void handleMoveSegmentTo(ActionEvent actionEvent) { try { FXMLLoader loader = new FXMLLoader(getClass().getResource("/com/view/moveSegmentPopup.fxml")); AnchorPane pane = (AnchorPane) loader.load(); Stage dialogStage = new Stage(); dialogStage.setTitle("Move selected segment to track"); dialogStage.initModality(Modality.WINDOW_MODAL); dialogStage.initOwner(Main.primaryStage); Scene scene = new Scene(pane); dialogStage.setScene(scene); MoveSegmentPopupController controller = loader.getController(); controller.setDialogStage(dialogStage); dialogStage.showAndWait(); if (controller.isOkClicked()) { int beat = controller.getBeat(); String trackName = controller.getTrack(); ObservableList<Node> tracksList = Controller.getComposeAreaVBox().getChildren(); for (int i = 0; i < tracksList.size(); i++) { TrackController track = (TrackController) tracksList.get(i); if (track.nameProperty().getValue().equals(trackName)) { Rectangle rectangle = (Rectangle) track.getTrackBeats().getChildren().get(beat - 1); MusicSegmentController newSegment = new MusicSegmentController(this.name, this.length, this.width, this.audioPath); newSegment.setLayoutX(rectangle.getLayoutX()); newSegment.setLayoutY(i * 55 + 6); Controller.anchorPaneComposition.getChildren().add(newSegment); } } } } catch (IOException ex) { ex.printStackTrace(); } }