画圆弧问提
《图形学》------用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
{
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();
}
}
----------------解决方案--------------------------------------------------------
不是吧?小问题就不屑于回答?
不帮新手们,那我们不得一直都是菜鸟?
----------------解决方案--------------------------------------------------------
在程序中加入:
public void paint(Graphics g){
int radius;
radius=Integer.parseInt(textField.getText());
bresenhamarc(g,radius);
}
搞定了
----------------解决方案--------------------------------------------------------
可能斑竹们忙吧 我刚学 要不要加个container的容器啊 我们学的时候是要加的 还有 不要这么说啊 自己找找看 就能找到错误的 呵呵
----------------解决方案--------------------------------------------------------
谢谢你了
不加container容器也能画出一段弧线来
不过只能在左上角画
怎么个加法?能不能把container容器的代码写出来?
----------------解决方案--------------------------------------------------------