Círculo em plano cartesiano

Pessoal, eu tenho q entregar um trabalho e tenho que desenhar um círculo por meio de um algoritmo, mostrado em um plano cartesiano. Alguém poderia me ajudar uma pobre ciratura desesperada!! :cry:
Obrigado

é a Fabi q acabei conversar no icq? hehehe… bem, a classe Forma, Ponto e Circulo ja temos né? … agora é implementar a GUI da tua aplicação… com swing ou oq for, fórum de GUI é o destino a partir de agora :slight_smile: good lock

será??? :sad: Bom, eu tento e tento com este programa, mas só dá erro…

[code]
import java.awt.;
import java.awt.event.
;
import java.awt.geom.;
import javax.swing.
;
import java.io.;
import java.lang.
;

abstract class GraphicObject{
class Circle extends GraphicObject{
public class CirculoAnalitico extends JFrame implements ActionListener{

JLabel l1,l2,l3,l4;
JTextField c1,c2,c3,c4;
JButton b1,b2;
List lst;
Panel p;

public CirculoAnalitico(){
	super("Circunferência: Método Analítico");
	setSize(600,645);
	setVisible(true);
	p = new Panel();
	getContentPane().setBackground(new Color (140,150,160));
	getContentPane().setLayout(new BorderLayout());

	l1 = new JLabel("x1");
	l2 = new JLabel("y1");
	l3 = new JLabel("x2");
	l4 = new JLabel("y2");

	c1 = new JTextField(5);
	c2 = new JTextField(5);
	c3 = new JTextField(5);
	c4 = new JTextField(5);
	
	b1 = new JButton("DESENHAR");
	b2 = new JButton("LIMPAR");
	b1.addActionListener(this);
	b2.addActionListener(this);

	lst = new List();

	getContentPane().add(l1);
	getContentPane().add(c1);
	getContentPane().add(l2);
	getContentPane().add(c2);
	getContentPane().add(l3);
	getContentPane().add(c3);
	getContentPane().add(l4);
	getContentPane().add(c4);
	getContentPane().add(p);
	getContentPane().add(lst);
	getContentPane().add(b1);
	getContentPane().add(b2);		
}

int x1, y1, x2, y2;
int dx, dy;

	
public double Raio(int dx,int dy){
	dx = x2 - x1;
	dy = y2 - y1;
	return (Math.sqrt((Math.pow(dx,2))+(Math.pow(dy,2))));
}



public void ActionListener(ActionEvent e){
	if(e.getSource() == b2){
		c1.setText(" ");
		c2.setText(" ");
		c3.setText(" ");
		c4.setText(" ");
		lst.removeAll();
		p.repaint();
	}
	if(e.getSource() == b1){
		try{
			String s1 = c1.getText();
			x1 = Integer.parseInt(s1);
			String s2 = c2.getText();
			y1 = Integer.parseInt(s2);
			String s3 = c3.getText();
			x2 = Integer.parseInt(s3);
			String s4 = c4.getText();
			y2 = Integer.parseInt(s4);
		}
		catch(Exception ex){
			System.out.println("Erro de conversão");
		}
	}
}

public void paint(Graphics g){ 
	
	Point ponto = new Point();
	double passo = (int) 1/Raio(dx, dy);
	double t = 0;
	while (t<2*Math.PI){
		double x = (int) Raio(dx, dy)*Math.cos(t); 
		double y = (int) Raio(dx,dy)*Math.sin(t);
		int a = (int) x + x1; 
		int b = (int) y + y1; 
		g.setColor(Color.black);
		g.drawRect(x2,y2,90,90);
		g.setColor(Color.red);
		g.drawArc(ponto.getX(),ponto.getY(),0,t);
		lst.add(" " +g.toString()+ " " +g.toString());		
		t = (int) t + passo;
	}
	
}

}

}
}[/code]

[color=“green”][size=“11”]Faça uso da tag CODE nos seus exemplos de código, para mante-los mais claro e de fácil leitura - matheus[/size][/color]