Ver Mensaje Individual
  #8 (permalink)  
Antiguo 16/05/2010, 22:06
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: Graficar bajo demanda con Paint(Graphics g) en Java

La verdad es que el mecanismo es complejo y son varios lo métodos implicados. El orden teórico es el siguiente:

- Cuando un componente necesita repintarse hay que llamar a repaint(). Esto sólo marca que ese componente necesita repintado y "encola" esa necesidad en el hilo especial que tiene java para tratar eventos y pintar ventanas. Es al método al que debemos llamar cuando queremos que algo se repinte correctamente.

- Cuando en el hilo java de pntado de ventanas le llega el turno a la petición encolada por repaint(), java llama al método update(). Este únicamente llama a paint().

- El método paint() por defecto llama a otros tres métodos en este orden: paintComponent(), paintBorder() y paintChildren(). El método que borra el componente es paintComponent().

Creo que me equivoqué al comentarte que repaint() borra todo, quizás tengas tú que encargarte de borrar todo al principio de paint(). Haz la prueba y si no se te borra todo, entonces, al principio del paint(), pinta un rectángulo relleno de negro que ocupe todo el componente (es lo que hace java para borrar).

Se bueno.
__________________
Apuntes Java
Wiki de Programación