Java课程设计
Posted dialogbox
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java课程设计相关的知识,希望对你有一定的参考价值。
一、项目要求
- 查找文件功能:可以根据指定的目录名与待查找的文件,在指定目录中进行查找,并返回结果。
- 实现文件的拷贝与粘贴功能。
- 实现文本类文件(.txt, .java, .ini, .bat, )的预览功能(比如实现对前100行文本在某个小窗口中进行预览)。
- 实现文件的重命名功能。
- 实现对某个文件夹进行统计功能(如统计文件夹中文件数目)。
二、团队成员介绍
姓名:张胜龙
班级:计科20-3
学号:202003010085
三、项目gitee地址
四、项目git提交记录截图
五、项目功能架构图与主要功能流程图
l 思维导图
Ⅱ UML图
六、项目运行截图
-
jar包
-
右键菜单选项(可进行删除、重命名、复制、粘贴、查看属性、统计文件操作)
-
实现文本类文件的预览功能
-
实现查看文件的属性
-
实现文件的重命名
- 对某个目录下的文件进行统计
七、项目关键代码
统计文件数目方法
//统计文件夹的数目
public static int countFileNumber(File directory) {
int num = 0;
//若统计文件数目则 .isFile()
if (!directory.isDirectory()) {
return 1;
}
File[] files = directory.listFiles();
for (File direc : files) {
num += countFileNumber(direc);
}
return num;
}
右键弹出菜单
//右键弹出菜单,显示位置不固定的弹窗
PopupMenu pop = new PopupMenu();
MenuItem deleteItem = new MenuItem("Delete");
MenuItem renameItem = new MenuItem("Rename");
MenuItem natrueItem = new MenuItem("Attributes");
MenuItem copyItem=new MenuItem("Copy");
MenuItem pasteItem=new MenuItem("Paste");
MenuItem otherItem=new MenuItem("All Have");
//自定义一个名为root的节点,后面作为根节点创建一棵树 NodeData是自定义节点类。
DefaultMutableTreeNode root = new DefaultMutableTreeNode(new NodeData(null,"我的电脑"));
设置 Jtree 的样式 , 渲染Component组件的样式
//重写父类方法
//getTreeCellRendererComponent方法存在于DefaultTreeCellRenderer类。这个类实际上是实现的接口TreeCellRenderer
//将当前树单元格的值设置为 value。如果 sel 为 true,则将单元格作为已选择的单元格进行绘制。如果 expanded 为 true,则当前扩展该节点,如果 leaf 为 true,则该节点表示叶节点,如果 hasFocus 为 true,则该节点当前拥有焦点。
@Override
public Component getTreeCellRendererComponent(JTree tree, Object value,
boolean sel, boolean expanded, boolean leaf, int row,
boolean hasFocus) {
fsView = FileSystemView.getFileSystemView();//获取FileSystemView的实例
DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) value;//获取当前节点
NodeData data = (NodeData) selectedNode.getUserObject();//取得节点的用户对象
Icon icon = fsView.getSystemIcon(data.f);//Icon为图片
setLeafIcon(icon);//用于显示叶节点的图标
setOpenIcon(icon);//用于显示扩展的非叶节点的图标
setClosedIcon(icon);//设置用于显示无扩展的非叶节点的图标
return super.getTreeCellRendererComponent(tree, value, sel, expanded,
leaf, row, hasFocus);
}
八、程序的不足和改进之处
- 使用阿里巴巴静态扫描工具对项目进行扫描
- 对扫描后的项目进行更正
以上是关于Java课程设计的主要内容,如果未能解决你的问题,请参考以下文章