资源描述:
《java画图板程序实验报告(附完整代码)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、画板程序一、软件系统分析和设计方案1、功能需求分析设计类似于Windows画板的程序,程序可以通过功能菜单(或工具条)进行功能选择操作,在画板中可以用鼠标操作绘制不同颜色的点,直线,多边形和椭圆,可以保存和打开自定义的图形文件。2、结构设计过程经过对需求的分析,我们设计的画图板界面主要包括菜单栏、工具栏、画板三个部分。菜单栏包含文件、编辑、帮助等常见功能菜单,实现打开保存文件等功能;工具栏主要包括画笔、矩形、椭圆、直线、刷子、橡皮、文字、颜色等工具,可完成一些基本操作;画板能够编辑处理图片及文字。而代码实现上采用面向对象的思想,将上述组件封装与一
2、个画板类中布局并实现功能;通过一个窗框类实现画板对象;最后在主类中建立窗框对象。思路如下图:二、软件实现和代码编写具体代码及详细注释如下:importjava.awt.*;importjava.awt.event.*;importjava.awt.geom.*;importjavax.swing.*;importjavax.swing.UIManager.*;importjava.io.*;15importjava.util.Vector;//主类建立窗框publicclassDrawPad{publicstaticvoidmain(String
3、[]args){try{//优化UI效果for(LookAndFeelInfoinfo:UIManager.getInstalledLookAndFeels()){if("Nimbus".equals(info.getName())){UIManager.setLookAndFeel(info.getClassName());break;}}}catch(Exceptione){System.out.println(e);}newDrawFrame();}}//添加窗口和画板组件classDrawFrameextendsJFrame{public
4、DrawFrame(){DrawPanelpanel=newDrawPanel();add(panel);setTitle("简单JAVA画板");setBounds(100,100,800,600);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}//定义绘画点的基本属性classpositionimplementsSerializable{intx;inty;inttype;Strings;Colorcolor;}//定义画板组件classDrawPanele
5、xtendsJPanelimplementsActionListener,MouseListener,MouseMotionListener{JMenuBarmb;//菜单栏JMenumenu1,menu2,menu3;JMenuItemi1,i2,i3,i4;JPaneljp1;//工具栏publicJButtonanj0,anj1,anj2,anj3,anj4,anj5,anj6,anj7,anj8,anj9,anj10;JLabell1,lcolor;Vectorthedraw=newVector()
6、;//保存画图轨迹的数组intstyle=0;//保存画图类型,默认为画笔intx1=0;//保存点的坐标intx2=0;inty1=0;inty2=0;Stringinput="";//默认输入文字内容Colorlinecolor=Color.BLACK;//默认线的颜色15publicDrawPanel(){setBackground(Color.WHITE);setLayout(newBorderLayout());setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
7、//上部菜单栏mb=newJMenuBar();mb.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));add(mb,BorderLayout.NORTH);//加入菜单栏的组件menu1=newJMenu("文件");menu2=newJMenu("编辑");menu3=newJMenu("帮助");i1=newJMenuItem("打开",newImageIcon("img/open.png"));i2=newJMenuItem("保存",newImageIcon("im
8、g/save.png"));i3=newJMenuItem("清空",newImageIcon("img/clear.png"));i4