资源简介
必做需求:①左侧以树形结构列出本机文件系统,根为“我的电脑”;②点击左侧结点,右侧 以表格展示其下文件/文件夹,包含文件名、大小、修改日期、文件类型等列;③单击右侧表头可按该列升降排序;④右侧文件/文件夹支持右键菜单,以完成常用的文件/文件夹管理功能(复制、粘贴、删除、剪切、重命名等)。选做需求:支持常用文件类型(文本、图片等)的预览
代码片段和文件信息
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
- 上一篇:spring-jdbc4.0jar包
- 下一篇:jpcap压缩包
相关资源
- java实习生实习报告
- 分页查询源码
-
JAVA Jfr
ame无边框可拖动Dome - SNMP管理站开发-java实现
- java微信小程序支付
- java成本预测决策支持系统基于SSM框架
- ssm+maven+swagger框架整合
- LoadBox.java
- java贪吃蛇源码联网
- java联网贪吃蛇
- 山东大学java程序设计报告
- cglib代理的依赖jar包
- 小程序通过Code换取OpenId(后台为Jav
- slf4j-api-1.7.25.jar
- slf4j-nop-1.7.25.jar
- Java swing学生信息管理系统
- QTS青训-java8 高级应用与开发 实验答案
- java实现手机验证码
- Java Socket实现网络通话源码程序
- java版推箱子小游戏
- 基于Java的学生考勤管理系统
- JAVA课程设计,UDP 基于组播的聊天程序
- 用java写的查询某市地铁的最短路径。
- student.zip
- java实现简单的记事本程序
- Java swing实现简单的C/S聊天及文件传输
- Java实现简单的成语消消乐动态数组
- java MySQL注册登录系统
- Java课设:内有课程设计报告以及完整
- 飞机大战_MoAC
评论
共有 条评论