Comment afficher uniquement le nom de fichier dans une arborescence JavaFX?
J'ai donc compris comment obtenir tous les fichiers et répertoires et les ajouter à l'arborescence, mais cela me montre le chemin complet du fichier: C/user/file.txt je veux juste le nom du fichier ou du dossier et non le chemin.
Le code pour créer la liste est le suivant:
private TreeItem<File> buildFileSys(File dir, TreeItem<File> parent){
TreeItem<File> root = new TreeItem<>(dir);
root.setExpanded(false);
File[] files = dir.listFiles();
for (File file : files) {
if (file.isDirectory()) {
buildFileSys(file,root);
} else {
root.getChildren().add(new TreeItem<>(file));
}
}
if(parent==null){
return root;
} else {
parent.getChildren().add(root);
}
return null;
}
Je prends ensuite le TreeItem retourné et fais treeview.setroot(treeItem obj);
Toute aide serait grandement appréciée.
0
1 answers
Utiliser une coutume cellFactory
pour déterminer comment les éléments sont affichés dans la TreeView
:
treeView.setCellFactory(new Callback<TreeView<File>, TreeCell<File>>() {
public TreeCell<File> call(TreeView<File> tv) {
return new TreeCell<File>() {
@Override
protected void updateItem(File item, boolean empty) {
super.updateItem(item, empty);
setText((empty || item == null) ? "" : item.getName());
}
};
}
});
3
Author: fabian, 2017-05-29 17:37:56