> 文档中心 > 【001】基于JavaFX实现的电子图片管理系统

【001】基于JavaFX实现的电子图片管理系统

华南农业大学面向对象程序设计综合性实验(98分)

1 问题描述。
题目目的是编写一个能够对数字像片进行管理的应用程序。 程序能够显示的图片格式包括,.JPG、.JPEG、.GIF、.PNG、和.BMP。 图像文件尺寸,要求能够处理从几十 K 到几 M 的各种大小的图片。本系统也配置了一些滤镜功能,以及图片的多选复制粘贴、重命名、图片切换等,能满足用户日常需求。
窗口预览界面:
【001】基于JavaFX实现的电子图片管理系统

2 系统功能分析。
2.1目录树功能
显示系统磁盘目录,先建立一个树项目(mainTreeItem),将文件系统的根目录添加到该节点上(如C盘,D盘),添加时调用addItems()方法来添加根目录的子节点。然后添加到树状图treeView中,并设置为不可见,这样一开始显示的便是电脑的硬盘文件了。给树状图treeView中被选中项目的属性设置监听事件,点击后会获取其路径,然后会继续调用addItems来扩展该树状图。
2.2图片的单选多选
单选操作:鼠标左键点击在图形符号中时,该图片颜色呈亮蓝色,并将该图片符号置为“选中”状态。同时将其他图形符号设置为“未选中”状态。
多选操作:鼠标拖拽选中多个图形,这些图片均为亮蓝色并设置为“选中”状态。
2.3图片的预览
在主面板展示目录树中选中文件夹下的缩略图(支持的文件格式为.JPG、.JPEG、.GIF、.PNG、和.BMP。),缩略图包含图片、文件名且保持图片比例预览,在点击图片时,右侧面板将展示稍大的图片预览及其文件名、文件大小、文件位置。
2.4 幻灯片
在功能栏中设有幻灯片播放按钮,点击该按钮可以跳转至PPT播放界面,并从当前显示图片开始自动以1.5秒的间隔时间切换显示图片。且有退出播放功能。
2.5 图片删除与重命名
可通过右键选中图片单击“删除”进行删除,多选情况下则为鼠标拖拽选中的区域图片进行删除,删除图片前会有跳转窗口提示用户是否继续删除图片。同理,重命名也是类似的方式,在批量重命名时增设检测图片是否重名的情况,可设置图片共有名字,其余部分为数字填充,由用户输入预设的位数,若位数不符也会提醒用户重新输入。
2.6 滤镜处理、图片保存功能
有灰度处理、颜色反转以及调节图片亮度、饱和度、像素还原功能,通过WritableImage类实现对图片逐一像素点的更改,通过java自带的Color类,分别在对应button添加鼠标点击事件,传递设置好的参数实现综上功能,并支持还原、保存功能,保存时文件类型默认为“png”类型(可更改)。
2.7 图片旋转、放大缩小功能 图片从预览模式进入查看模式后,可通过下方的旋转按钮进行顺时针旋转90度,其左 右设有放大键、缩小键可分别进行图片的放大跟缩小。
2.8图片切换功能
通过设置保存文件地址的数组,实现图片的“上一张”、“下一张”的切换功能。
3.开发平台及工具介绍。
IDEA 全称 IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。尤其对于处理大项目,IDEA相较其他平台具有巨大的优势,因此,我们在开发项目时使用了IDEA。其中,JDK版本为JDK-9.0.1。
JavaFX技术,JavaFX融入了现在GUI技术不仅能开发桌面应用还可以开发RIA(富因特网应用)。它是一个强大的图形和多媒体处理工具包集合,JavaFX是java包的一部分,它为大规模的GUI开发提供了丰富的基础结构。JavaFX中包含多个图片像素处理、像素读写相关功能的类,可以很方便地对图像进行亮度、饱和度等色彩效果的调整。
相较于JavaSwing,JavaFX有支持css、界面布局更美观、代码更简洁等优势,因此我们选择了通过javaFx实现该电子图片管理系统。

部分界面展示

目录树:
在这里插入图片描述

幻灯片放映界面:
在这里插入图片描述

图片保存:
在这里插入图片描述
图片编辑:
在这里插入图片描述
包括多选单选、多选删除、复制、粘贴等部分已经也实现了,图片编辑栏也有灰度处理、变暗变亮、放大缩小、饱和度调节、颜色反转等功能。此处不再展示。
2.1 系统总体结构设计
我们把该系统结构设计分为三大部分,分别是图片文件预览的设计模块、图片展示及功能实现模块、文件单选及多选操作模块
2.2系统各个类及类之间关系设计
在这里插入图片描述

2.3数据存储的设计
为了方面图片切换,我们使用ArrayList和file[]数组存取图片文件数据,并通过pixelWriter类下的函数实现对Wriableimage类的图片文件的像素读写。
(3) 系统实现
主要模块的流程图:
在这里插入图片描述
各功能实现的代码段:
1、 目录树的建立与显示
类:TreeView extends TreeView//File树状图。
在这里插入图片描述
该代码段位于TreeView中,功能是:将建立基于本地文件系统的树状关系的树状图。
先建立一个树项目(mainTreeItem),将文件系统的根目录添加到该节点上(如C盘,D盘),添加时调用addItems()方法来添加根目录的子节点。然后添加到树状图treeView中,并设置为不可见,这样一开始显示的便是电脑的硬盘文件了。给树状图treeView中被选中项目的属性设置监听事件,点击后会获取其路径,然后会继续调用addItems来扩展该树状图。

以上为部分报告内容。实验报告目录说明:
目 录

  1. 系统分析…5
    1.1 问题描述…5
    1.2 系统功能分析…5
    1.3 开发平台及工具介绍…6
  2. 系统设计…6
    2.1 系统总体结构设计…6
    2.2 系统各个类及类之间关系设计…6
    2.3 数据存储的设计…7
    2.4 界面设计…7
    3.系统实现…8
    4.系统测试…27
    4.1 图片文件预览窗口…27
    4.2 目录树…27
    4.3 图片预览…27
    4.4 图片数量显示…28
    4.5 图形多选…28
    4.6 图片删除…28
    4.7图片复制和粘贴…29
    4.8 图片重命名…30
    4.9 图片展示…31
    4.10 图片放大和缩小…31
    4.11 图片的切换上一张和下一张…32
    4.12 幻灯片播放…33
    4.13 图片灰度处理…33
    4.14 图片变暗…34
    4.15 图片变亮…34
    4.16 图片饱和度增加和减少…35
    4.17 图片颜色反转…36
    4.18 图片还原…36
    4.19 图片保存…37
    4.20 图片多选重命名…37
    4.21 图片多选删除…38
    4.22 右侧预览窗口…38
    5.系统运行界面…39
    6.总结…41

内容包含源代码工程文件、jar包、实验报告、答辩PPT,十分全面

内容已经放到淘宝店“七里空间”上,找到“【001】基于JavaFX实现的电子图片管理系统”,4元即可打包带走。
文件目录:
【001】基于JavaFX实现的电子图片管理系统
在这里插入图片描述