📄 arcapplet.java
字号:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
/** 该Applet小应用程序根据给定的参数画弧或填充弧
* 作者:尉哲明
* 日期:2001年5月 */
/** 定义类在其上画弧 */
class ArcCanvas extends Canvas
{
int startAngle=0;
int valueOfAngle=45;
boolean filled=false;
/** 组件类的paint()方法 */
public void paint(Graphics g)
{
Rectangle r=getBounds();
int hlines=r.height/10;
int vlines=r.width/10;
g.setColor(Color.pink);
for(int i=1;i<=hlines;i++)
g.drawLine(0,i*10,r.width,i*10);
for(int i=1;i<=vlines;i++)
g.drawLine(i*10,0,i*10,r.height);
g.setColor(Color.red);
if (filled)
g.fillArc(0,0,r.width-1,r.height-1,startAngle,valueOfAngle);
else
g.drawArc(0,0,r.width-1,r.height-1,startAngle,valueOfAngle);
g.setColor(Color.black);
g.drawLine(0,r.height/2,r.width,r.height/2);
g.drawLine(r.width/2,0,r.width/2,r.height);
g.drawLine(0,0,r.width,r.height);
g.drawLine(r.width,0,0,r.height);
int sx=10;
int sy=r.height-28;
g.drawString("S="+startAngle,sx,sy);
g.drawString("E="+valueOfAngle,sx,sy+14);
}//paint()方法结束
/** 改变参数后重新画弧 */
public void redraw(boolean filled,int start,int end)
{
this.filled=filled;
this.startAngle=start;
this.valueOfAngle=end;
repaint();
}// redraw()方法结束,该方法调用了repaint()方法,用来在参数被修改后重画图形
}// ArcCanvas类定义结束
/** 控制面板类用于设置或改变参数 */
class ArcControls extends Panel implements ActionListener
{
TextField s;
TextField e;
ArcCanvas canvas;
/** 控制面板类之构造方法,参数为画布 */
public ArcControls(ArcCanvas canvas)
{
Button b=null;
this.canvas=canvas;
add(s=new TextField("0",4));
add(e=new TextField("45",4));
b=new Button("Fill");
b.addActionListener(this);
add(b);
b=new Button("Draw");
b.addActionListener(this);
add(b);
}// ArcControls类构造方法结束
/** 响应按钮事件的处理方法 */
public void actionPerformed(ActionEvent ev)
{
String label=ev.getActionCommand();
canvas.redraw(label.equals("Fill"),Integer.parseInt(s.getText().trim()),Integer.parseInt(e.getText().trim()));
}// actionPerformed()方法结束
}// ArcControls类定义结束
/** Applet类的定义*/
public class ArcApplet extends Applet
{
/** init()方法,在Applet中加入画布和控制面板 */
public void init()
{
setLayout(new BorderLayout());
ArcCanvas p=new ArcCanvas();
add("Center",p);
add("South",new ArcControls(p));
}// init()方法结束
}// ArcApplet类定义结束
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -