⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filenode.java

📁 这是计算机专业操作系统课程的课程设计
💻 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 + -