Pessoal estou aprendendo um pouco mais sobre GUI e estou tentando fazer uma animação simples. Segue o código:
public class SimpleAnimation { int x =0; int y = 0; public static void main(String[] args) { SimpleAnimation animation = new SimpleAnimation(); animation.go(); } public void go(){ JFrame janela = new JFrame("Animação"); janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); MyDrawPanel dp = new MyDrawPanel(); janela.add(dp); janela.setSize(300, 300); janela.setVisible(true); for(int i=0;i<500;i++){ x++; y++; dp.repaint(); try { Thread.sleep(50); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } class MyDrawPanel extends JPanel{ public void paintComponent(Graphics g) { g.setColor(Color.white); g.fillRect(0, 0, this.getWidth(), this.getHeight()); int red = (int) Math.random()*255; int green = (int) Math.random()*255; int blue = (int) Math.random()*255; Color cor = new Color(red, green, blue); g.setColor(cor); g.fillOval(x, y, 40, 40); } } }
Tudo funciona com exceção da mudança de cor. Porque a cor não se altera como a posição?
Pergunta
caezar
Olá pessoal, aqui estou mais uma vez!
Pessoal estou aprendendo um pouco mais sobre GUI e estou tentando fazer uma animação simples. Segue o código:
public class SimpleAnimation { int x =0; int y = 0; public static void main(String[] args) { SimpleAnimation animation = new SimpleAnimation(); animation.go(); } public void go(){ JFrame janela = new JFrame("Animação"); janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); MyDrawPanel dp = new MyDrawPanel(); janela.add(dp); janela.setSize(300, 300); janela.setVisible(true); for(int i=0;i<500;i++){ x++; y++; dp.repaint(); try { Thread.sleep(50); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } class MyDrawPanel extends JPanel{ public void paintComponent(Graphics g) { g.setColor(Color.white); g.fillRect(0, 0, this.getWidth(), this.getHeight()); int red = (int) Math.random()*255; int green = (int) Math.random()*255; int blue = (int) Math.random()*255; Color cor = new Color(red, green, blue); g.setColor(cor); g.fillOval(x, y, 40, 40); } } }
Tudo funciona com exceção da mudança de cor. Porque a cor não se altera como a posição?
Obrigado mais uma vez!
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.