赞
踩
华南农业大学面向对象程序设计综合性实验(98分)
1 问题描述。
题目目的是编写一个能够对数字像片进行管理的应用程序。 程序能够显示的图片格式包括,.JPG、.JPEG、.GIF、.PNG、和.BMP。 图像文件尺寸,要求能够处理从几十 K 到几 M 的各种大小的图片。本系统也配置了一些滤镜功能,以及图片的多选复制粘贴、重命名、图片切换等,能满足用户日常需求。
窗口预览界面:
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来扩展该树状图。
以上为部分报告内容。实验报告目录说明:
目 录
内容包含源代码工程文件、jar包、实验报告、答辩PPT,十分全面。
内容已经放到淘宝店“七里空间”上,找到“【001】基于JavaFX实现的电子图片管理系统”,4元即可打包带走。
文件目录:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。