【发布时间】:2016-04-19 21:37:13
【问题描述】:
我有一个带有 TreeView 的项目,如果我选择 TreeItem 并键入 DELETE,与它相关的文件会自动在磁盘上删除。但它不起作用,我只是在互联网上搜索找不到我的答案。这是我的功能(listeArbres 是 TreeView):
private void recupereFichierProjet(File repertoire, FileFilter filtre) {
File[] fichiers = repertoire.listFiles(filtre);
TreeItem<String> rootItem = new TreeItem<String>("Workspace");
rootItem.setExpanded(true);
for (File fichier : fichiers) {
Projet projet = Projet.charge(fichier);
TreeItem<String> item = new TreeItem<String>(fichier.getName());
item.addEventHandler(KeyEvent.KEY_TYPED, event -> {
if (event.getCode() == KeyCode.DELETE) {
System.out.println("la");
Projet.supprime(
new File("./workspace/" + listeArbres.getSelectionModel().getSelectedItem().getValue()));
initialiseTreeView();
}
});
rootItem.getChildren().add(item);
for (Arbre arbre : projet.getArbreDuProjet()) {
TreeItem<String> itemBis = new TreeItem<String>(arbre.getEntete().getNomFonction());
item.getChildren().add(itemBis);
}
}
listeArbres.setRoot(rootItem);
listeArbres.setVisible(true);
}
我想我明白 addEventHandler 是针对不同事件的,所以我不明白如何在对象“项目”上使用 KeyListener。
“Projet”上的静态方法“supprime”用于删除我的文件。
先谢谢你。(对不起我的英语不好)。
【问题讨论】:
标签: java javafx treeview keylistener