Foros del Web » Programación para mayores de 30 ;) » Java »

problema doble buffer

Estas en el tema de problema doble buffer en el foro de Java en Foros del Web. Buenas! tengo la clase llamada pintaGraficos, que implementa un Canvas... el problema que cuando hago ciertas operaciones de dibujado, se ve un parpadeo muy molesto ...
  #1 (permalink)  
Antiguo 27/09/2008, 20:53
 
Fecha de Ingreso: diciembre-2002
Ubicación: en mi casa
Mensajes: 131
Antigüedad: 21 años, 5 meses
Puntos: 0
problema doble buffer

Buenas!

tengo la clase llamada pintaGraficos, que implementa un Canvas... el problema que cuando hago ciertas operaciones de dibujado, se ve un parpadeo muy molesto en la pantalla... por eso opte por utilizar el doble buffer, pero me lanza un error...

private Image im = null;
private Graphics img = null;

public pintaGraficos() {
im = createImage(200,200);
img = im.getGraphics();

...


Exception in thread "main" java.lang.NullPointerException
at pintaGraficos.<init>(pintaGraficos.java:31)
at dos.ConstruyeVentana(dos.java:40)
at dos.<init>(dos.java:28)
at dos.main(dos.java:114)


lo curioso es que cuando quito la linea img = im.getGraphics(); ... deja de aparecer el error....
__________________
Sin firma
  #2 (permalink)  
Antiguo 28/09/2008, 00:46
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 5 meses
Puntos: 7
Respuesta: problema doble buffer

al parecer no estas creando la imagen. Segun yo, createImage() no te inicializa una imagen. Checate bien eso.

por otro lado, si se puede, mejor inicializa asi:
Image im = new Image();
lo mismo para graphics.
  #3 (permalink)  
Antiguo 28/09/2008, 15:48
 
Fecha de Ingreso: septiembre-2008
Ubicación: Córdoba
Mensajes: 67
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: problema doble buffer

Podrías poner todo el codigo hasta la linea 31 inclusive de tu clase pintaGraficos?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:45.