⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 circlepanel.java

📁 使用java语言编写的画图板
💻 JAVA
字号:
/* * circlepanel.java * * Created on 2005年12月25日, 下午3:51 */package painttool;/** * * @author cb */import java.io.*;import java.awt.*;import java.awt.event.*;public class circlepanel{   public static int dotnumber=1;   public static Button drawcircle=new Button("drawcircle");   public static Button clear=new Button("clear");   public static Button construct=new Button("建立坐标");   public static TextField  t1=new TextField();   public static TextField  t2=new TextField();   public static TextField  t3=new TextField();    public circlepanel()    {        TextField  t1=new TextField();        TextField  t2=new TextField();        TextField  t3=new TextField();                BorderLayout bl=new BorderLayout();                    Button b1=new Button("center");        Button b2=new Button("edge");        Button b3=new Button("radius");        Panel p=new Panel();        Panel p1=new Panel();        Panel p2=new Panel();        Main.circlep.setLayout(new BorderLayout());         Main.circlep.add(p,bl.SOUTH);                p.setLayout(new GridLayout(1,2));        p.setVisible(true);        p1.setVisible(true);p2.setVisible(true);        p1.setLayout(new GridLayout(1,3));        p2.setLayout(new GridLayout(2,3));        p.add(p1);p.add(p2);                 p1.add(drawcircle);p1.add(clear);p1.add(construct);        p2.add(b1);p2.add(b2);p2.add(b3);        p2.add(t1);p2.add(t2);p2.add(t3);        monitorc watch=new monitorc();        clear.addActionListener(watch);        drawcircle.addActionListener(watch);        construct.addActionListener(watch);        Main.circlep.addMouseListener(watch);        Main.card.show(Main.mainFrame,"third");        Main.card.show(Main.mainFrame,"second");            }}class monitorc extends Canvas implements MouseListener,ActionListener{    int x1=0,x2=0,y1=0,y2=0;    int k=0;    public void actionPerformed(ActionEvent e)    {       Graphics g=Main.circlep.getGraphics();             if(e.getSource()==circlepanel.drawcircle)       {           k=(int)Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));           drawcirclemid(k,x1,y1);       }       if(e.getSource()==circlepanel.construct)       {                      int i=0;           g.drawLine(0, 200, 400, 200);           g.drawLine(200, 0, 200, 400);           while(i<200)           {               g.drawString(""+i,200+i,200);               i=i+40;           }           i=0;           while(i<200)           {               g.drawString(""+(-200+i),i,200);               i=i+40;           }           i=0;           while(i<200)           {               g.drawString(""+i,200,200+i);               i=i+40;           }           i=0;           while(i<200)           {               g.drawString(""+(-200+i),200,i);               i=i+40;           }       }       if(e.getSource()==circlepanel.clear)       {                       g.clearRect(0,0,400,350);            circlepanel.t1.setText("");            circlepanel.t2.setText("");            circlepanel.t3.setText("");             x1=0;x2=0;y1=0;y2=0;            k=0;            circlepanel.dotnumber=1;       }          }        public void mouseClicked(MouseEvent e)    {           Graphics g=Main.circlep.getGraphics();          if(circlepanel.dotnumber==1)            {                  x1=e.getX();y1=e.getY();                circlepanel.t1.setText(""+e.getX());                circlepanel.t2.setText(""+e.getY());                     g.drawString("start", e.getX()-20,e.getY());            }            if(circlepanel.dotnumber==2)            {                 x2=e.getX();y2=e.getY();                                g.drawString("end", e.getX(),e.getY());            }            g.drawLine(e.getX(),e.getY(),e.getX(),e.getY());            circlepanel.dotnumber++;                              }         public void mouseReleased(MouseEvent e){   }      public void mousePressed(MouseEvent e){   }     public void mouseEntered(MouseEvent e){   }     public void mouseExited(MouseEvent e) {   }    public void drawcirclemid(int r,int x1,int y1)    {            Graphics g=Main.circlep.getGraphics();            //g.drawLine(33,33,55,55);             int deltax=0,deltay=0,d=0;             int x=0,y=0;                 deltax=3;	         deltay=2-(int)r-(int)r;	         d=1-(int)r;	         x=0;	         y=(int)r;	         while(x<y)	         {	         	if(d<0)	         	{	         		d+=deltax;	         		deltax+=2;	         		x++;	         	}	         	else	         	{	         		d+=(deltax+deltay);	         		deltax+=2;	         		deltay+=2;	         		x++;	         		y--;	         	}	         	deltax=3;	         deltay=2-r-r;	         d=1-r;	         x=0;	         y=r;	         while(x<y)	         {	         	if(d<0)	         	{	         		d+=deltax;	         		deltax+=2;	         		x++;	         	}	         	else	         	{	         		d+=(deltax+deltay);	         		deltax+=2;	         		deltay+=2;	         		x++;	         		y--;	         	}	         	g.drawLine(x+x1,y1-y,x+x1,y1-y);	         	g.drawLine(x1-x,y1+y,x1-x,y1+y);	         	g.drawLine(x1-x,y1-y,x1-x,y1-y);	         	g.drawLine(x+x1,y1+y,x+x1,y1+y);	         	g.drawLine(x1-y,x+y1,x1-y,x+y1);	         	g.drawLine(x1+y,y1-x,x1+y,y1-x);	         	g.drawLine(x1+y,x+y1,x1+y,x+y1);	         	g.drawLine(x1-y,y1-x,x1-y,y1-x);	         		         		         		         } 	         }     }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -