用java编写画图程序_用java编写画图程序.doc

本文档介绍如何使用Java的Graphics类创建一个简单的画图应用程序,该程序具有类似PPT画笔的功能。程序中包含一个主窗口,用户可以选择不同的颜色进行绘制,并提供了清除画布的选项。
摘要由CSDN通过智能技术生成

41528d3028836879cd698677c3999917.gif用java编写画图程序.doc

Java中的graphics类提供了画布,可以在graphic面画出各种形状,包括图片,各种线条,字符串,各种图像。下面这个程序用java编写一个程序用来画图,类似于ppt中的画笔功能。vimportjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassdrawtest1{publicstaticvoidmain(Stringargs[]){drawd=newdraw();//d.drawline();}}classdrawextendsJFrameimplementsMouseListener,MouseMotionListener,ActionListener{Graphicsg;Colorcolor=Color.green;Colorcolor1=Color.gray;intstartx,starty,endx,endy;JPanelp1,p2;JButton[]btns=newJButton[4];Stringtitle[]={“设置前景色“,“设置背景色“,“设置画笔颜色“,“清除画布“};publicdraw(){super(“画图“);this.show();this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setSize(700,600);setLayout(null);p1=newJPanel();p2=newJPanel();for(inti=0;i<4;i++){btns[i]=newJButton(title[i]);btns[i].addActionListener(this);add(btns[i]);}p1.setBorder(BorderFactory.createTitledBorder(“设置颜色“));p1.setBackground(Color.white);p1.setBounds(30,10,140,240);btns[0].setBounds(50,40,100,30);btns[1].setBounds(50,90,100,30);btns[2].setBounds(50,140,100,30);btns[3].setBounds(50,190,100,30);add(p1);g=this.getGraphics();g.setClip(180,50,500,500);addMouseListener(this);addMouseMotionListener(this);}//publicvoidpaint(Graphicsg){重绘画布,当移动此画布或者覆盖此画布时,图像不会消失g.setColor(Color.white);g.drawString(“画图板“,20,30);//}publicvoidmouseClicked(MouseEvente){}publicvoidmouseEntered(MouseEvente){}publicvoidmouseExited(MouseEvente){}publicvoidmousePressed(MouseEvente){if(e.getButton()==MouseEvent.BUTTON1){startx=e.getX();starty=e.getY();System.out.println(“鼠标左键被按下“);}elseif(e.getButton()==MouseEvent.BUTTON3){System.out.println(“鼠标右键被按下“);}}publicvoidmouseReleased(MouseEvente){}publicvoidmouseDragged(MouseEvente){g.setColor(color);g.drawLine(startx,starty,e.getX(),e.getY());startx=e.getX();starty=e.getY();}publicvoidmouseMoved(MouseEvente){}publicvoidactionPered(ActionEvente){Objecto=e.getSource();if(o==btns[2]){color=JColorChooser.showDialog(null,“设置画笔颜色“,Color.white);g.setColor(color);}if(o==btns[1]){color1=JColorChooser.showDialog(null,“设置背景色“,Color.black);g.setColor(color1);g.fillRect(0,0,this.getWidth(),this.getHeight());}if(o==btns[3]){g.setColor(color1);g.fillRect(0,0,this.getWidth(),this.getHeight());}}}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值