我想知道要求是什么,以便JTree
正常运作。我编写了一些代码,显示了一个文件系统树,然后调用expandPath()
来扩展它的路径。
当我使用File对象时,一切正常,但树显示每个节点上的完整路径。所以我将它包装在一个更改toString()
的类中,以便只显示目录/文件名,但现在expandPath()
不再有效,路径也不会扩展。
package tools.controls.TreeControl.Filesystem;
import java.io.File;
import java.net.URI;
public class TreeFile
extends File
implements Cloneable
, Comparable<File>
{
private static final long serialVersionUID = 1L;
public TreeFile(TreeFile oOther)
{
super(oOther.getParentFile(), oOther.getName());
}
public TreeFile(File oFile)
{
super(oFile.getParentFile(), oFile.getName());
}
public TreeFile(String oPath)
{
super(oPath);
}
public TreeFile(URI oFileURL)
{
super(oFileURL);
}
public TreeFile(String oParent, String oChild)
{
super(oParent, oChild);
}
public TreeFile(File oParent, String oChild)
{
super(oParent, oChild);
}
public TreeFile getParentTreeFile()
{
File f = getParentFile();
if(f == null)
return null;
return new TreeFile(f);
}
public String toString()
{
return getName();
}
public TreeFile clone()
{
return new TreeFile(this);
}
@Override
public int compareTo(File oObject)
{
return super.compareTo(oObject);
}
}