Проблема при попытке добавить несколько изображений в TilePane, обернутую в ScrollPane - PullRequest
0 голосов
/ 17 апреля 2019

Я пытаюсь заполнить TilePane массивом ImageViews.До сих пор это то, что я пробовал, он работает, но фотографии не отображаются в панели плитки.Есть идеи почему?

Я пытался добавлять изображения одно за другим с помощью цикла и добавлять их все сразу (выдает ошибку дубликата дочернего элемента).

public class AlbumC implements Initializable{

@FXML
public MenuItem returnToAlbums;

@FXML 
public TilePane preview; 

User currentUser = Login.newUser;
ArrayList <ImageView> allImages; 

public AlbumC() {

}

@FXML
public void returnToAlbumPage() throws Exception {
    ChangeScene nextScene = new ChangeScene("../gui/user.fxml",600,400);
    nextScene.setTitle(currentUser.getUsername() + "'s Albums");
    nextScene.currentScene();
}

@Override
public void initialize(URL location, ResourceBundle resources) {
    allImages = new ArrayList<ImageView>(); 
    preview = new TilePane(); 
    System.out.println("Stock albums: " + currentUser.getUserAlbums().get("stock").getPhotoList().size());
    createImages(); 

}

public void createImages() {

    Image temp; 

    for(int i = 0; i < currentUser.getUserAlbums().get(UserC.albumOpened).getPhotoCount(); i++) {

        temp = new Image(currentUser.getUserAlbums().get(UserC.albumOpened).getPhotoList().get(i).getPath().toString()); 
        System.out.println("path: " + currentUser.getUserAlbums().get(UserC.albumOpened).getPhotoList().get(i).getCaption());
        allImages.add(new ImageView(temp)); 

    }

    for(int i = 0; i < allImages.size(); i++) {
        preview.getChildren().add(allImages.get(i)); 
    }

}
...