javafx CheckBoxTreeItem <file> TreeView <file>。如何只显示文件名而不是完整路径?

时间:2017-01-24 09:12:56

标签: file javafx path treeview

提前感谢您的支持...... 我使用TreeView类和CheckBoxTreeItem在JavaFx中进行编码。我想在树视图中显示CheckBoxTreeItem(File)只显示Path或File的名称,以及所有sub,即用户选择。关于选择路径,flush trow工作的所有东西都很好,但是当我在treeview上传它时,对象显示文件的完整路径而不是名称。我只想显示名字。

enter image description here 为此,我使用了一个扩展CheckBoxTreeItem的类:

public class FilePathTreeItem_analisi extends CheckBoxTreeItem<File>

我的问题是:当我以这种方式将其添加到TreeView时:

TreeView<File> treview_Base;
treview_Base.setCellFactory(CheckBoxTreeCell.<File>forTreeView());
FilePathTreeItem_analisi Ckaggiunto = new FilePathTreeItem_analisi(file.toPath());

..和其他正确上传文件的命令

为什么它显示完整路径而不仅仅是名称?

这是CheckBoxTreeItem的类:

public class FilePathTreeItem_analisi extends CheckBoxTreeItem<File>
public FilePathTreeItem_analisi(Path file){
super(file.toFile());
dilavoro =file;

this.fullPath=file.toString();
this.setIndependent(false);

//test if this is a directory and set the icon
if(Files.isDirectory(file)){
  this.isDirectory=true;
  this.setGraphic(new ImageView(folderCollapseImage));
}else{
  this.isDirectory=false;
  this.setGraphic(new ImageView(fileImage));
}

this.setValue(file.toFile());

...还有一些listyener和eventHandler ......

所以我的问题是:我必须在扩展CheckBoxTreeItem的类中使用什么来在TreeView中显示文件的名称而不是整个路径?

1 个答案:

答案 0 :(得分:0)

使用

treview_Base.setCellFactory(CheckBoxTreeCell.<File>forTreeView());

而不是

shared_context "stubbing :method on Class" do
  before { allow(Class).to receive(:method).and_return(true) }
end