• 大小: 23KB
    文件类型: .java
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: Java
  • 标签: Java  

资源简介

必做需求:①左侧以树形结构列出本机文件系统,根为“我的电脑”;②点击左侧结点,右侧 以表格展示其下文件/文件夹,包含文件名、大小、修改日期、文件类型等列;③单击右侧表头可按该列升降排序;④右侧文件/文件夹支持右键菜单,以完成常用的文件/文件夹管理功能(复制、粘贴、删除、剪切、重命名等)。选做需求:支持常用文件类型(文本、图片等)的预览

资源截图

代码片段和文件信息

package ui;

import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.MenuItem;
import java.awt.Panel;
import java.awt.PopupMenu;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.sql.Date;
import java.text.SimpleDateFormat;

//
import javax.swing.Icon;
import javax.swing.JDialog;
import javax.swing.Jframe;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.JTree;
import javax.swing.SwingUtilities;
import javax.swing.event.TreeModelEvent;
import javax.swing.event.TreeModelListener;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.filechooser.FileSystemView;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.table.TableRowSorter;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeCellRenderer;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.MutableTreeNode;
import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel;

import CLASS.FolderRenderer;
import CLASS.NodeData;
@SuppressWarnings(“unused“)
public class MyTree 
{
TreePath copyPath;
Jframe jf;
JTree tree;//树结构
JTable table;//表格
object[][] list = { {} };
DefaultTableModel tableModel;//表格模型
DefaultMutableTreeNode parent;
DefaultTreeModel model;//声明树状视图模型  以指定的模型创建一棵树,DefaultTreeModel自行查阅API
PopupMenu pop = new PopupMenu();//右键弹出菜单
MenuItem deleteItem = new MenuItem(“删除“);
MenuItem renameItem = new MenuItem(“重命名“);
    MenuItem natrueItem = new MenuItem(“属性“);
    MenuItem copyItem=new MenuItem(“复制“);
    MenuItem pasteItem=new MenuItem(“粘贴“);
DefaultMutableTreeNode root = new DefaultMutableTreeNode(new NodeData(null“我的电脑“));//自定义一个名为root的节点,后面作为根节点创建一棵树  NodeData是自定义节点类。
//用于重命名时生成一个原节点的克隆体
DefaultMutableTreeNode aClone;
public void init()
{
jf = new Jframe(“文件资源管理器“);
jf.setSize(600 600);
File[] roots = File.listRoots();//获得系统根目录文件  需要获取磁盘中所有的盘符路径:jdk6中一个方法搞定
for(int i = 0;i < roots.length;i++)
{
DefaultMutableTreeNode node = new DefaultMutableTreeNode(new NodeData(roots[i]roots[i].getAbsolutePath()));//NodeDate自定义节点类
root.add(node);//从父节点删除 newChild并将其添加到该节点的子数组的末尾,使其成为该节点的子节点
}
tree = new JTree(root);//以指定的自定义的节点(root)作为根节点创建一棵树  
model = (DefaultTreeModel) tree.getModel();//获取Jtree对应的TreeModel的对象,即获取树的数据模型
        tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);//一次只能选中一个节点先返回树的选择模型才能设置树的选择模型   contiguous连续的
        // getSelectionModel()返回模型进行选择                           setSele

评论

共有 条评论