资源描述:
《用java编写画图程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Java屮的graphics类提供了画布,可以在graphic而画出各种形状,包括陶片,各种线条,字符串,各种图像。下面这个程序用java编写一个程序用来画图,类似于ppt中的画笔功能Romai▼五号,2426283importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassdrawtestl{publicstaticvoidmain(Stringargs[]){drawd=newdraw();//d.drawline();}}classdrawextendsJFrameimplementsM
2、ouseListener,MouseMotionListener,ActionListener{Graphicsg;Colorcolor=Color.green;Colorcolorl=Color.gray;intstartx,starty,endx,endy;JPanelpl,p2;JButton[]btns=newJButton[4];Stringtitle[]={"设置前景色n,"设置背景色",”设置W笔颜色n,"清除画布publicdraw(){super("画图”);this.show();this.setDefaultCloseOperation(JFrame.
3、EXIT_ON_CLOSE);setSize(700,600);setLayout(null);pl=newJPanel();p2=newJPanel();for(inti=0;i<4;i++){btns[i]=newJButton(title[i]);btns[i].addActionListener(this);add(btns[i]);}pl.setBorder(BorderFactory.createTitledBorder(’•设賈颜色pksetBackground(Color.white);pi.setBounds(30,10,140,240);btns[0].
4、setBounds(50,40,100,30);btns[l].setBounds(50,90,100,30);btn$[2].setBounds(50J40,100,30);btns[3].setBounds(50,190,100,30);add(pl);g=this.getGraphics();g.setClip(l80,50,500,500);addMouseListener(this);addMouseMotionListener(this);}//publicvoidpaint(Graphicsg){////重绘画布,当移动此画布或者覆盖此画布时,图像不会消失ll
5、llg.setColor(Color.white);UHg.drawStringC画图板n,20,30);//}publicvoidmouseClicked(MouseEvente){}publicvoidmouseEntered(MouseEvente){}publicvoidmouseExited(MouseEvente){}publicvoidmousePressed(MouseEvente){if(e.getButton()==MouseEvent.BUTTON1){startx=e.getX();starty=e.getY();System.out.println
6、C•鼠标左键被按下••);}elseif(e.getButton()==MouseEvent.BUTTON3){System.out.printlnC•鼠标右键被按下n);}}publicvoidmouseReleased(MouseEvente){}publicvoidmou$eDragged(Mou$eEvente){g.setColor(color);g.drawLine(startx,starty,e.getX(),e.getY());startx=e.getX();starty=e.getY();}publicvoidmouseMoved(MouseEvente)
7、{}publicvoidactionPerformed(ActionEvente){Objecto=e.getSource();if(o==btns[2]){color=JColorChooser.showDialog(null,"设置画笔颜色",Color.white);g.setColor(color);}if(o==btns[l]){colorl=JColorChooser.showDialog(null,’•设置背景色”,Color.black);g.setColor(colorl);g.fillRect(