стирание формы в Java - PullRequest
1 голос
/ 03 июня 2011

Я пытаюсь нарисовать круги, которые появляются каждую секунду, я смог это сделать, но как мне заставить старую форму исчезнуть?

 public void paint(Graphics g) {
  try {
    while (true) {
        Shape circle = new Ellipse2D.Double(500*Math.random(),500*Math.random(), 50.0f, 50.0f);
        Graphics2D ga = (Graphics2D)g;
        ga.draw(circle);
        ga.setPaint(Color.green);
        ga.fill(circle);
        ga.setPaint(Color.red);
        Thread.sleep(1000);

    }
} catch (InterruptedException e) {
    e.printStackTrace();
} 

}

Ответы [ 3 ]

1 голос
/ 03 июня 2011

Просто получите цвет фона и используйте его, чтобы покрыть старый круг фоновым цветом.

0 голосов
/ 03 июня 2011

Самый простой метод здесь - просто вызвать g.clearRect(WIDTH, HEIGHT); вверху вашего paint() метода.

0 голосов
/ 03 июня 2011

Попробуйте позвонить super.paint(g); первым делом в цикле.

...