Ola dres, tudo bem?? Estou a fazer um programa q consiste basicamente tem uma tela com um circulo se movimentando dentro dela de maneira aleatória. Andei olhando a pagina da sun mas os exemplos não foram muito claros… o q devo fazer para gerar o movimento do circulo???
Ca esta a classe q é representada pelo circulo:
public class Pessoa extends JComponent{
private int x = 75;
private int y = 50;
protected void paintComponent(Graphics g) {
// Não se pode mudar o estado do objeto g, então fazemos uma cópia dele.
Graphics2D g2d = (Graphics2D) g.create();
g2d.setColor(Color.yellow);
g2d.drawOval(this.x, this.y, 21, 21);
g2d.setColor(Color.red);
g2d.fillOval(this.x+1, this.y, 20, 20);
g2d.dispose();
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
}
e ca esta o cenário onde ela habita.
public class Sala extends JFrame{
private Container container;
private JPanel janela;
public Sala(){
super("Simulação Aleatória - Cinema");
geraJPanel();
this.container = getContentPane();
this.container.setLayout(null);
this.container.add(this.janela);
setSize(600,400);
setLocation(100,125);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args){
Sala sala = new Sala();
}
public void geraJPanel(){
this.janela = new JPanel();
this.janela.setSize(500, 300);
this.janela.setBackground(Color.lightGray);
this.janela.setLayout(new BorderLayout());
this.janela.add(new Pessoa());
this.janela.setBorder(BorderFactory.createLineBorder(Color.black, 1));
}
public Container getContainer() {
return container;
}
public void setContainer(Container container) {
this.container = container;
}
public JPanel getJanela() {
return janela;
}
public void setJanela(JPanel janela) {
this.janela = janela;
}
}
desde já agradeço.