中文摘要

该程序是一个图形用户界面的JAVA图形编辑系统,由于需要丰富的用户界面组件,该图形编辑系统界面采用了Swing包,该程序实现了图形编辑系统的基本功能 :新建文件、打开文件、保存文件、退出编辑系统等文件功能,还有用铅笔随手画,画直线,矩形,椭圆,圆等基本图形的绘画功能,还可以在更多图形菜单栏中选择绘画带填充的图形,该图形编辑器还带有文字输入功能(图形文字),可以选择字体类型(正常,粗体,斜体),在操作的时候可以选择线条的粗细和颜色,橡皮擦功能可以帮助修改绘制的图形文字。

在设计的时候考虑到在执行不同的操作的时候鼠标的形状也会随着改变,比如:在用铅笔绘画的时候鼠标的形状就显现是一只铅笔的样子,在用橡皮擦的时候鼠标就转换成一个黑的小填充园进行擦除,由于时间的关系最终没有实现

对于图形编辑系统,用鼠标拖动,删除图形是一个技术性的难点,以后会加强学习,实现此功能。

题目内容及要求

制作一个友好的图形用户界面,操作简单易行的图形编辑系统,其具体要求如下:

(1)能用拖橡皮筋的手法绘制各类图形(直线、椭圆、矩形、文字)

?????(2)支持画笔颜色、文字大小设置;

?????(3)能将画面中的所有图形存储到文件中;

?????(4)能从文件读取图形进行增补;

(5)采用对话框获取图形文件名。

(6)也可以思考一先如何利用鼠标选取图形,删除

设计思路

1、功能规划

将主界面设置为当前Windows风格的,然后在一个Container里设置菜单区域,常用功能区域,绘图区域和状态栏。

菜单区域设置“文件”(新建,保存,打开,退出)用来对文件的不同操作,“更多形状”(画实心矩形,实心圆,实心椭圆)用来扩充绘画功能,“颜色”用来通过调用系统颜色面板选择线条颜色,“帮助”用来添加一些附加信息,画板,作者的介绍等;

常用功能区域里面添加了铅笔,直线,矩形,椭圆,圆,橡皮擦,粗细,文字等常用功能按钮用来完成不同的操作,还安置了两个复选框(粗体,斜体)来设置图形式文字输入的状态。排在North位置

绘图区域用来实现操作的操作显示平台,排在Center位置

状态栏主要用来纪录鼠标的坐标改变, 放在South位置

2、工作原理图

3、 打开已保存的图形文件

4、保存绘制的图形

具体实现

用户自定义类

类名:Huaban

作用:生成主界面

继承的父类:JFrame

主要的类成员:

private ObjectInputStream input;
private ObjectOutputStream output;输入输出流,打开和保存图像
private JButton choices[];存放功能按钮
private String names[ ]={ 存放功能按钮的名字 };
private String tipText[]={鼠标放到功能按钮上的提示语}
private Icon items[];存放各功能按钮的Icon
Icon wei=new ImageIcon("wang.gif") ;//介绍我的
Icon icon=new ImageIcon("mm.gif") ;//说明的ICON
Icon icon1=new ImageIcon("nn.gif") ;//输入文字的ICON
JToolBar buttonPanel ; //定义功能按钮面板
ButtonHandler handler=new ButtonHandler();功能按钮监听1
ButtonHandler1 handler1=new ButtonHandler1();功能按钮监听2
private JLabel statusBar; //显示鼠标状态的提示条
private DrawPanel drawingArea;//画图区域
drawings[] itemList=new drawings[5000];//存放基本图形的大数组
int index=0; //当前已经绘制的图形数目,图形数组下标
private Color color=Color.black;//当前画笔颜色
JCheckBox bold,italic;//两个字体选择复选框
//开始构造函数Huaban()
JMenuBar bar=new JMenuBar();//定义菜单显示bar
JMenu fileMenu=new JMenu("文件(F)")//定义文件菜单
JMenuItem newItem=new JMenuItem("新建(N)");
JMenuItem saveItem=new JMenuIt