Erro ao copiar Tabs Java fx

Ola, Estou deselvovendo um aplicativo que em uma parte dele, tem que criar multiplos tabs, do mesmo tipo, no caso Painel, porem quando eu criava um novo tab, o painel do antigo sumia pq eu copiava do outro, e assim em segida, entao eu pesquisei e vi um cara que falou para criar um outra fxml para pegar o root dele e por no tab, mas isso tambem nao deu certo. alguem pode me ajudar?
Imagem dos tabs


Imagem do novo fxml

codigo

        
        Tab tab = new Tab("NotSaved " + (numTabs + 1));
        
        try {
        FXMLLoader loader = new FXMLLoader();
        AnchorPane pane = loader.load(getClass().getResource("Assessment.fxml"));
        tab.setContent(pane);
        numTabs++; 
        } catch (Exception e) { System.out.println(e);}
        
        tabpane.getTabs().add(tab);

Esse bloco está rodando corretamente
É que voce deve usar uma nova instancia de objeto para vincular um Node

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene; 
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.scene.control.*;
import javafx.scene.layout.AnchorPane;

/**
 *
 * @author jorge
 */
public class TabFX extends Application {
    
    int numTabs = 0;
    
    @Override
    public void start(Stage primaryStage) {
        
        TabPane tabpane = new TabPane();
        
        
        try {
           numTabs++; 
           FXMLLoader loader = new FXMLLoader();
           AnchorPane pane = loader.load(getClass().getResource("Assessment.fxml"));
           Tab tab = new Tab("NotSaved " + numTabs );
           tab.setContent(pane);
           tabpane.getTabs().add(tab); 

           
           
           // outro           
           numTabs++; 
           AnchorPane pane2 = loader.load(getClass().getResource("Assessment.fxml"));
           Tab tab2 = new Tab("NotSaved " + numTabs );
           tab2.setContent(pane2);  // caso coloque "pane" no lugar de "pane2" o Tab 1 ficará em branco, porque estará sendo usado para o tab2
           tabpane.getTabs().add(tab2); 
                   
          // pode ser assim tambem, mas veja que foram criadas novas instancias dos objetos
           numTabs++; 
           pane = loader.load(getClass().getResource("Assessment.fxml"));
           tab = new Tab("NotSaved " + numTabs );
           tab.setContent(pane);
           tabpane.getTabs().add(tab)

        } catch (Exception e) { 
            System.out.println(e);
        }
          
        Scene scene = new Scene(tabpane, 600, 250);
        
        primaryStage.setTitle("Hello World!");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        launch(args);
    }
    
}
1 curtida