[2017年整理]java制作一个图形编辑系统

上传人:豆浆 文档编号:910303 上传时间:2017-05-21 格式:DOC 页数:16 大小:281KB
返回 下载 相关 举报
[2017年整理]java制作一个图形编辑系统_第1页
第1页 / 共16页
[2017年整理]java制作一个图形编辑系统_第2页
第2页 / 共16页
[2017年整理]java制作一个图形编辑系统_第3页
第3页 / 共16页
[2017年整理]java制作一个图形编辑系统_第4页
第4页 / 共16页
[2017年整理]java制作一个图形编辑系统_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《[2017年整理]java制作一个图形编辑系统》由会员分享,可在线阅读,更多相关《[2017年整理]java制作一个图形编辑系统(16页珍藏版)》请在金锄头文库上搜索。

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

2、是一只铅笔的样子,在用橡皮擦的时候鼠标就转换成一个黑的小填充园进行擦除,由于时间的关系最终没有实现对于图形编辑系统,用鼠标拖动,删除图形是一个技术性的难点,以后会加强学习,实现此功能。 2一、 题目内容及要求制作一个友好的图形用户界面,操作简单易行的图形编辑系统,其具体要求如下:(1)能用拖橡皮筋的手法绘制各类图形(直线、椭圆、矩形、文字)(2)支持画笔颜色、文字大小设置;(3)能将画面中的所有图形存储到文件中;(4)能从文件读取图形进行增补;(5)采用对话框获取图形文件名。(6)也可以思考一先如何利用鼠标选取图形,删除二、 设计思路1、功能规划将主界面设置为当前 Windows 风格的,然后

3、在一个 Container 里设置菜单区域,常用功能区域,绘图区域和状态栏。菜单区域设置“文件” (新建,保存,打开,退出)用来对文件的不同操作, “更多形状” (画实心矩形,实心圆,实心椭圆)用来扩充绘画功能,“颜色”用来通过调用系统颜色面板选择线条颜色, “帮助”用来添加一些附 3加信息,画板,作者的介绍等;常用功能区域里面添加了铅笔,直线,矩形,椭圆,圆,橡皮擦,粗细,文字等常用功能按钮用来完成不同的操作,还安置了两个复选框(粗体,斜体)来设置图形式文字输入的状态。排在 North 位置绘图区域用来实现操作的操作显示平台,排在 Center 位置状态栏主要用来纪录鼠标的坐标改变, 放在

4、South 位置2、工作原理图 4开始初始化绘图区域新建或默认文件 打开已有文件绘制和修改图形新建文件 保存图片文件退出程序结束3、 打开已保存的图形文件 5开始选择文件格式是否正确读取文件结束系统报错是否取消读取4、保存绘制的图形开始输入保存文件名保存图形结束取消保存 6三、 具体实现1、用户自定义类类名:Huaban 作用:生成主界面继承的父类:JFrame主要的类成员:private ObjectInputStream input;private ObjectOutputStream output;输入输出流,打开和保存图像private JButton choices;存放功能按钮pr

5、ivate String names = 存放功能按钮的名字 ;private String tipText=鼠标放到功能按钮上的提示语private Icon items;存放各功能按钮的IconIcon wei=new ImageIcon(wang.gif) ;/介绍我的 Icon icon=new ImageIcon(mm.gif) ;/说明的ICONIcon icon1=new ImageIcon(nn.gif) ;/输入文字的ICONJToolBar buttonPanel ; /定义功能按钮面板ButtonHandler handler=new ButtonHandler();功能

6、按钮监听 1ButtonHandler1 handler1=new ButtonHandler1();功能按钮监听2private JLabel statusBar; /显示鼠标状态的提示条private DrawPanel drawingArea;/画图区域drawings itemList=new drawings5000;/存放基本图形的大数组int index=0; /当前已经绘制的图形数目,图形数组下标private Color color=Color.black;/当前画笔颜色JCheckBox bold,italic;/两个字体选择复选框/开始构造函数 Huaban()JMenu

7、Bar bar=new JMenuBar(); /定义菜单显示 barJMenu fileMenu=new JMenu(文件(F)/定义文件菜单JMenuItem newItem=new JMenuItem(新建(N);JMenuItem saveItem=new JMenuItem(保存(S);JMenuItem openItem=new JMenuItem(打开(L);JMenuItem exitItem=new JMenuItem(退出(X);/文件菜单项JMenu shapeMenu=new JMenu(更多形状(P);/绘图菜单JMenuItem frectItem=new JMen

8、uItem(画实心矩形(F);JMenuItem fovalItem=new JMenuItem(画实心椭圆(T);JMenuItem fcircleItem=new JMenuItem(画实心圆(Q);/菜单项JMenu colorMenu=new JMenu(颜色(C)/颜色菜单JMenuItem colorItem=new JMenuItem(选择颜色(O);/菜单项JMenu helpMenu=new JMenu(帮助(H)/帮助菜单 7JMenuItem aboutItem=new JMenuItem(关于 mini 画板!(A);JMenuItem howItem=new JMen

9、uItem(帮助主题(W);/帮助菜单项对于定义的一些菜单和菜单项通过 bar.add(X)和 X.add(Y)来添加到主界面中去的,并且同过函数 setMnemonic()来设置这些菜单或菜单项的快捷键,然后通过X.addActionListener (new ActionListener() public void actionPerformed(ActionEvent e) 触发相应方法事件 来实现对菜单项的事件出发。/创建各种基本图形的按钮 ,排列功能按钮面板 buttonPanel items=new ImageIconnames.length;choices=new JButton

10、names.length;buttonPanel = new JToolBar( JToolBar.VERTICAL ) ;buttonPanel = new JToolBar( JToolBar.HORIZONTAL) ;/导入图形图标,在功能按钮上加上 Icon 和提示语 tipTextifor(int i=3;ichoices.length;i+)itemsi=new ImageIcon(namesi + .gif);choicesi=new JButton(,itemsi);choicesi.setPreferredSize(new Dimension(35,30);choicesi.

11、setToolTipText(tipTexti);buttonPanel.add(choicesi);/添加按钮实体/添加对按钮的监听,基本监听者 handler 注册for(int i=3;ichoices.length-2;i+) choicesi.addActionListener(handler); currentChoice=j; /对监听到绘制函数中做相应调用/触发弹出对话框监听者 handler1 注册 choiceschoices.length-2.addActionListener(handler1);choiceschoices.length-1.addActionList

12、ener(handler1);/创建和添加字体选择复选框,鼠标状态提示条以及注册bold=new JCheckBox(粗体);italic=new JCheckBox(斜体字);checkBoxHandler cHandler=new checkBoxHandler();bold.addItemListener(cHandler); 8italic.addItemListener(cHandler);事件注册buttonPanel.add(bold);buttonPanel.add(italic);statusBar=new JLabel();statusBar.setText( 欢迎使用迷你

13、画板 1.00 版_! );/设计 JFrame 整体布局Container c=getContentPane();super.setJMenuBar( bar );c.add(buttonPanel,BorderLayout.NORTH);c.add(drawingArea,BorderLayout.CENTER);c.add(statusBar,BorderLayout.SOUTH);createNewItem();/创建基本图形绘制区域,默认为 Pencil 绘画setSize(720,450);setVisible(true);/构造函数结束,类名:ButtonHandler 作用:按

14、钮监听器,监听基本的绘图操作继承的父类:ActionListenerpublic class ButtonHandler implements ActionListener public void actionPerformed(ActionEvent e) for(int j=1;jchoices.length-2;j+) if(e.getSource()=choicesj) currentChoice=j;createNewItem();repaint();类名:ButtonHandler1 作用:按钮监听器,监听改线条粗细和添加图形文字继承的父类:ActionListenerpublic class ButtonHandler1 implements ActionListener public void actionPerformed(ActionEvent e) if(e.getSource()=choiceschoices.length-2) setStroke(); if(e.getSource()=choiceschoices.length-1) JOptionPane.showMessageDialog(null,你可以点击画板用来添

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号