Duvidas com TreeView

Boa tarde,

Estou a entrar no mundo do JavaFX e estou com uma pequena duvida.
Criei uma treeView mas não consigo saber qual o objecto selecionado.
E suponho que haja uma maneira melhor para popular a tree .
Alguém sabe como fazer?

import java.net.URL;
import java.util.Arrays;
import java.util.List;
import java.util.ResourceBundle;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.TreeItem;
import javafx.scene.control.TreeView;
import javafx.scene.input.MouseEvent;

public class SampleController implements Initializable {
    
    @FXML
    private TreeView<String> tree;
    
    @Override
    public void initialize(URL url, ResourceBundle rb) {
        
        populateTree();
    }

    private void populateTree() {
        List<TreeNode> treeNodes = Arrays.<TreeNode>asList(
            new TreeNode(0, "", "Pai 1", "pai1.fxml"),
            new TreeNode(1, "", "Pai 2", "pai2.fxml"),
            new TreeNode(2, "", "Pai 3", "pai3.fxml"),
            new TreeNode(0, "0", "Filho 1", "filho1.fxml"),
            new TreeNode(1, "0", "Filho 2", "filho2.fxml"),
            new TreeNode(0, "1", "Filho 1", "filho1.fxml"),
            new TreeNode(0, "2", "Filho 1", "filho1.fxml"),
            new TreeNode(0, "00", "Filho 3", "filho3.fxml")   
        );
        
        
        TreeItem<String> treeRoot = new TreeItem<>("Root");
        
        for(TreeNode treeArr : treeNodes){
            TreeItem<String> treeNome = new TreeItem<>(treeArr.getNameNode());
            
            if(!treeArr.getIdPai().isEmpty()){      
               if(treeArr.getIdPai().length() == 1){
                   treeRoot.getChildren().get(Integer.parseInt(treeArr.getIdPai())).getChildren().add(treeNome);
               } else {
                   char[] digitos = treeArr.getIdPai().toCharArray(); 
                   
                   treeRoot.getChildren().get(Integer.parseInt(digitos[0] + "")).getChildren().get(Integer.parseInt(digitos[1] + "")).getChildren().add(treeNome);
               }
            } else {
               treeRoot.getChildren().add(treeNome);
            }
        }
        
        tree.setRoot(treeRoot);
        tree.setShowRoot(false);
        
        tree.setOnMouseClicked(new EventHandler<MouseEvent>() {

            @Override
            public void handle(MouseEvent t) {
                System.out.println(tree.getSelectionModel().getSelectedItem().getValue());
                System.out.println(tree.getSelectionModel().getSelectedIndex());
            }
        });
    }    
}

Cumprimentos

Você conseguiu resolver?
Estou com o mesmo problema!

Boa tarde linsspinho,

Sim consegui dar a volta, quando chegar a casa vejo se ainda tenho esse code.

Cumprimentos,