《图形学》------用bresenham算法画圆
小弟编写的代码能通过编译,但点“画圆”按钮时没反映。应该是少了些什么了,大虾们帮看看到底错在哪里
代码如下:
import java.awt.*;
import java.applet.Applet;
import java.awt.event.*;
import java.lang.*;
public class circular extends Applet implements ActionListener
{
TextField textField;
Label label;
Button btn;
Color color;
public void init()
{
label=new Label("请输入圆的半径radius:");
add(label);
textField=new TextField();
add(textField);
btn=new Button("开始画圆");
add(btn);
color=Color.blue;
btn.addActionListener(this);
}
public void bresenhamarc(Graphics g,int radius)
{
int x,y,d;
x=0;
y=radius;
d=3-2*radius;
while(x<y)
{
g.drawLine(x,y,x,y);
if(d<0)
d=d+4*x+6;
else
{
d=d+4*(x-y)+10;
y--;
}
x++;
}
if(x==y)
g.drawLine(x,y,x,y);
}
public void actionPerformed(ActionEvent e)
{
int radius;
radius=Integer.parseInt(textField.getText());
repaint();
}
}