📄 filenode.java
字号:
/**
* 定义文件按目录树的节点类,继承DefaultMutableTreeNode
*/
import java.io.File;
class FileNode extends javax.swing.tree.DefaultMutableTreeNode
{
private boolean extended = false;
public FileNode(File file)
{
setUserObject(file);
}
public boolean getAllowsChildren()
{
return isDirectory();
}
public boolean isLeaf()
{
return!isDirectory();
}
public File getFile()
{
return (File) getUserObject();//返回此节点的用户对象
}
public boolean isExtended()
{
return extended;
}
public boolean isDirectory()
{
return getFile().isDirectory();
}
public String toString()
{
File file = (File) getUserObject();
String filename = file.toString();
int index = filename.lastIndexOf(File.separator);//c:\text.txt
return (index != -1 && index != filename.length() - 1) ? filename.substring(index + 1) : filename;
}
//*******************************************展开节点,获得节点的子目录
public void Extend()
{
if (!isDirectory())
{
return;
}
if (!isExtended())
{
File file = getFile();
File[] children = file.listFiles();//返回一个抽象路径名数组,这些路径名表示此抽象路径名所表示目录中的文件
for (int i = 0; i < children.length; ++i)
{
File f = children[i];
if (f.isDirectory())
{
add(new FileNode(children[i]));
}
}
extended = true;
}
}
//********************************************************************************
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -