中文摘要
该程序是一个图形用户界面的JAVA图形编辑系统,由于需要丰富的用户界面组件,该图形编辑系统界面采用了Swing包,该程序实现了图形编辑系统的基本功能 :新建文件、打开文件、保存文件、退出编辑系统等文件功能,还有用铅笔随手画,画直线,矩形,椭圆,圆等基本图形的绘画功能,还可以在更多图形菜单栏中选择绘画带填充的图形,该图形编辑器还带有文字输入功能(图形文字),可以选择字体类型(正常,粗体,斜体),在操作的时候可以选择线条的粗细和颜色,橡皮擦功能可以帮助修改绘制的图形文字。
在设计的时候考虑到在执行不同的操作的时候鼠标的形状也会随着改变,比如:在用铅笔绘画的时候鼠标的形状就显现是一只铅笔的样子,在用橡皮擦的时候鼠标就转换成一个黑的小填充园进行擦除,由于时间的关系最终没有实现
对于图形编辑系统,用鼠标拖动,删除图形是一个技术性的难点,以后会加强学习,实现此功能。
目 录
一 、 题目内容及要求………………………………………5
二 、 设计思路………………………………………………5
三 、 具体实现………………………………………………8
四 、 运行调试和分析讨论…………………………………15
五 、 设计体会和小结………………………………………17
六 、 致谢……………………………………………………18
七 、 参考文献………………………………………………18
- 题目内容及要求
制作一个友好的图形用户界面,操作简单易行的图形编辑系统,其具体要求如下:
(1)能用拖橡皮筋的手法绘制各类图形(直线、椭圆、矩形、文字)
(2)支持画笔颜色、文字大小设置;
(3)能将画面中的所有图形存储到文件中;
(4)能从文件读取图形进行增补;
(5)采用对话框获取图形文件名。
(6)也可以思考一先如何利用鼠标选取图形,删除
- 设计思路
1、功能规划
将主界面设置为当前Windows风格的,然后在一个Container里设置菜单区域,常用功能区域,绘图区域和状态栏。
菜单区域设置“文件”(新建,保存,打开,退出)用来对文件的不同操作,“更多形状”(画实心矩形,实心圆,实心椭圆)用来扩充绘画功能,“颜色”用来通过调用系统颜色面板选择线条颜色,“帮助”用来添加一些附加信息,画板,作者的介绍等;
常用功能区域里面添加了铅笔,直线,矩形,椭圆,圆,橡皮擦,粗细,文字等常用功能按钮用来完成不同的操作,还安置了两个复选框(粗体,斜体)来设置图形式文字输入的状态。排在North位置
绘图区域用来实现操作的操作显示平台,排在Center位置
状态栏主要用来纪录鼠标的坐标改变, 放在South位置
2、工作原理图
3、 打开已保存的图形文件
4、保存绘制的图形
- 具体实现
- 用户自定义类
类名:Huaban
作用:生成主界面
继承的父类:JFrame
主要的类成员:
对于定义的一些菜单和菜单项通过bar.add(X)和X.add(Y)来添加到主界面中去的,并且同过函数setMnemonic()来设置这些菜单或菜单项的快捷键,然后通过
讯享网
类名:ButtonHandler
作用:按钮监听器,监听基本的绘图操作
继承的父类:ActionListener
类名:ButtonHandler1
作用:按钮监听器,监听改线条粗细和添加图形文字
继承的父类:ActionListener
讯享网
类名:drawings

作用:定义基本图形单元
继承的父类:Serializable
主要成员变量:
类名:DrawPanel
作用:画图面板,用来绘画
继承的父类:JPanel
类名:mouseA
作用:用来完成鼠标相应事件操作
继承的父类:MouseAdapter
类名:mouseB
作用:用来完成鼠标拖动和鼠标移动时的相应操作
继承的父类:MouseMotionAdapter
类名:checkBoxHandler
作用:用来完成鼠标拖动和鼠标移动时的相应操作
继承的父类:ItemListener
- 主要的函数和方法
- 图形编辑系统运行主界面
主函数main()调用Huaban()构造函数,通过构造函数构造主界面,
然后通过事件监听和事件响应函数实现图形编辑系统的功能,该图形编辑系统的主界面图如下:
- 运行调试和分析讨论
用JCreator打开Huaban.java文件,编译处理完成后单击执行,出现程序主界面,执行基本操作,截图如下:
以上是绘制铅笔画,直线,空心矩,椭圆,空心圆,在更多图形里面选择绘制实心的矩形,椭圆和圆,还有通过橡皮擦擦掉圆的一部分和填充的矩形的一部分,后面的是几个字,展现了文字输入,和字体选择,线条粗细的功能,左边的两条直线也展现粗细功能。
以上是基本操作界面,上图将绘画的图片保存为wanglaji 下图是从桌面打开以保存的文件wanglaji.保存的时候不输入文件名的话将无法保存,且保存的文件格式此程序可以识别。
在上图中,打开的文件为空或者是选中的文件不是此系统保存的,则会弹出提示无法打开文件,以上是一些基本操作的界面截图,还有其他功能的操作截图未能一一的列出,例如帮助有两个菜单,一个是“画板开发介绍”,还有一个会弹出作品信息。
改进该系统的想法:
1、可以在常用功能按钮里加上一些常用颜色的选择(红,蓝,绿)。
2、对于常用功能按钮的Icon可以做的更漂亮点(时间原因)
3、可以考虑加上一个“撤消”按钮,撤消绘画的基本图形
4、想过在是用绘图的时候鼠标变成一个钢笔或铅笔的形状,在用橡皮擦的时候变成一个黑圆,是界面更直观。
- 设计体会和小结
通过此次课程设计,将我本学期所学的JAVA知识得到巩固和应用,特别是对于课外知识的积累也提高了不少,对于图形用户界面的设计从课本的ATW包扩展到SWING包,利用Swing编程设计漂亮的图形用户界面,在设计的过程中我遇到了很多的问题,不过在老师和同学们的帮助和自己的思考下还是很好的完成了。这此课程设计还让我懂得了写程序不能闭门造车,要努力拓宽知识面,开阔视野,拓展思维。特别它还让我学会了在网上查阅那些无限的资料,让我明白知识是不能只限于课本,当然更不能只满足于课本。在此次课程设计中主要遇上一下问题
1、在保存源文件时命名与主类不一致
如何解决:将文件名wangwei 改为Huaban
2、原因:在引用用户变量与定义时的不一致,第java基础类型名如何改名二个字母大写了。
如何解决:将ButtonHandler 改为ButtonHandler1
3、原因:忘记实现接口ActionListener
如何解决:在类名后加上implements ActionListener
4、原因:java.io.FileNotFoundException
如何解决:加上try…catch对异常进行捕捉
5、原因:java图形界面外观不和谐
如何解决:java的图形界面外观有3种,默认是java的金属外观,还有
就是windows系统,motif系统外观, 用UIManager.setLookAndFeel
( UIManager.getSystemLookAndFeelClassName()) 来设置当前界面为Windows风格。
6、原因:曾出现绘图时图形起点是从(0,0)开始,不能点起点
如何解决:添加鼠标监听,每次操作都记得鼠标起始坐标
- 致谢
在本次Java课程设计中,首先要感谢我的指导老师严丽平老师教将我带如java的知识殿堂,给了我很多的Java的编程知识,编程思想,还有要感谢我的同学,在和他们的讨论中找到许多解决问题的方法,有了你们的帮助本次课程设计得以按时完成
- 参考文献
- 丁振凡.java语言实用教程.北京:北京邮电大学出版社,2004
- 侯捷.Thinking in Java 2e中文版 .北京:清华大学出版社,2003
- 李尊朝.java语言程序设计.北京: 中国铁道出版社,2004.2
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/5040.html