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

📄 example6_5.java

📁 书中的例题
💻 JAVA
字号:
/* 画布上绘制圆 */
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
class Ovalcanvas extends Canvas 
{
   int x,y,r; //设置变量:x,y为坐标位置,r为半径 
   
   Ovalcanvas()   //设置画布的大小及背景颜色
   {  setSize(200,200); 
      setBackground(Color.cyan);
   }

   //本方法用于传递圆的坐标位置及半径
   public void setOval(int x,int y, int r)
   {  this.x=x;
      this.y=y;
      this.r=r;
   }

   //绘制圆
   public void paint(Graphics g)
   {  g.drawOval(x,y,2*r,2*r);
   }
} 

public class Example6_5 extends Frame implements ActionListener
{  Ovalcanvas canvas;           //声明画布对象
   TextField in_R,in_X,in_Y;    //接收用户输入的数据
   Button btn;

   //窗体适配器,关闭窗体
   private class WindowCloser extends WindowAdapter
    {  public void windowClosing(WindowEvent we)
	       {System.exit(0);}	    
    }
   
   //构造方法,界面初始化
   Example6_5() 
   {
	  super("画布上绘制圆");
	  setSize(600,300);
	  show();
	  canvas=new Ovalcanvas();
      in_R=new TextField(6);
      in_X=new TextField(6);
      in_Y=new TextField(6);
      setLayout(new FlowLayout());
	  add(new Label("输入圆的位置坐标:"));
      add(in_X);
      add(in_Y);
      add(new Label("输入圆的半径:"));
      add(in_R);
      btn=new Button("确定");
      btn.addActionListener(this);
      add(btn); 
      add(canvas);
	  validate();
	  addWindowListener(new WindowCloser());
   } 

   //通过setOval()方法将数据传到画布类,进行图形绘制
   public void actionPerformed(ActionEvent e)
   {  int x,y,r;
      //try-catch结构用于异常处理
	  try {   
             x=Integer.parseInt(in_X.getText());
             y=Integer.parseInt(in_Y.getText());
             r=Integer.parseInt(in_R.getText());
             canvas.setOval(x, y, r);
             canvas.repaint();
           }
      catch(NumberFormatException ee)
           { 
             x=0;y=0;r=0;
           }
   }

  public static void main(String args[])
	{
		new Example6_5();
	 }
}

⌨️ 快捷键说明

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