📄 example6_5.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 + -