Círculo em plano cartesiano

2 respostas
F

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

2 Respostas

M

é 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

F
será??? :sad: Bom, eu tento e tento com este programa, mas só dá erro....
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;
   		}
		
	}
	
    }
  }
}

[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]

Criado 4 de julho de 2004
Ultima resposta 4 de jul. de 2004
Respostas 2
Participantes 2