1

如何将目录添加为Treeviewer. 我想显示当前目录中的文件结构,即C:/documents. 我有显示curent系统中所有文件的程序。但我只想从特定目录显示。我只想从当前目录显示。例如,如果我在系统上有 c、d、e、f 驱动器。我只想显示c盘。

final TreeViewer tv = new TreeViewer(composite);
tv.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
tv.setContentProvider(new FileTreeContentProvider());
tv.setLabelProvider(new FileTreeLabelProvider());
tv.setInput("null"); // pass a non-null that will be ignored

如何将目录设置为输入?我应该传递给setInput()什么?

4

1 回答 1

2

首先将输入设置为viewer您希望根目录的目录。例如,如果它是一个java.io.File对象,那么您FileTreeContentProvidergetElements(Object)方法应该如下所示:

public Object[] getElements(Object inputElement) {
    return getChildren(inputElement);
}

public Object[] getChildren(Object parentElement) {
    File dir = (File) parentElement;
    return dir.listFiles();
}
于 2013-01-08T11:13:39.787 回答