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