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

622 阅读7分钟

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

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

image.png

2 系统功能分析。 2.1目录树功能 显示系统磁盘目录,先建立一个树项目(mainTreeItem),将文件系统的根目录添加到该节点上(如C盘,D盘),添加时调用addItems()方法来添加根目录的子节点。然后添加到树状图treeView中,并设置为不可见,这样一开始显示的便是电脑的硬盘文件了。给树状图treeView中被选中项目的属性设置监听事件,点击后会获取其路径,然后会继续调用addItems来扩展该树状图。 2.2图片的单选多选 单选操作:鼠标左键点击在图形符号中时,该图片颜色呈亮蓝色,并将该图片符号置为“选中”状态。同时将其他图形符号设置为“未选中”状态。 多选操作:鼠标拖拽选中多个图形,这些图片均为亮蓝色并设置为“选中”状态。 2.3图片的预览 在主面板展示目录树中选中文件夹下的缩略图(支持的文件格式为.JPG、.JPEG、.GIF、.PNG、和.BMP。),缩略图包含图片、文件名且保持图片比例预览,在点击图片时,右侧面板将展示稍大的图片预览及其文件名、文件大小、文件位置。 2.4 幻灯片 在功能栏中设有幻灯片播放按钮,点击该按钮可以跳转至PPT播放界面,并从当前显示图片开始自动以1.5秒的间隔时间切换显示图片。且有退出播放功能。

image.png 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实现该电子图片管理系统。

image.png 部分界面展示 目录树:

幻灯片放映界面:

图片保存:

image.png 图片编辑:

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

image.png

2.3数据存储的设计 为了方面图片切换,我们使用ArrayList和file[]数组存取图片文件数据,并通过pixelWriter类下的函数实现对Wriableimage类的图片文件的像素读写。 (3) 系统实现 主要模块的流程图:

image.png 各功能实现的代码段: 1、 目录树的建立与显示 类:TreeView extends TreeView//File树状图。

image.png 该代码段位于TreeView中,功能是:将建立基于本地文件系统的树状关系的树状图。 先建立一个树项目(mainTreeItem),将文件系统的根目录添加到该节点上(如C盘,D盘),添加时调用addItems()方法来添加根目录的子节点。然后添加到树状图treeView中,并设置为不可见,这样一开始显示的便是电脑的硬盘文件了。给树状图treeView中被选中项目的属性设置监听事件,点击后会获取其路径,然后会继续调用addItems来扩展该树状图。

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

系统分析…5 1.1 问题描述…5 1.2 系统功能分析…5 1.3 开发平台及工具介绍…6 系统设计…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实现的电子图片管理系统”,两元即可打包带走。

文件目录:

image.png

image.png