Hola:
Estoy intentando hacer una aplicacion que pinta en un Canvas. Sin usar la tecnica del doble buffer la cosa va bien, pero cuando intento introducirla me da el siguiente error en tiempo de ejecucion:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Dibujo.paint(MiApp.java:59)
at sun.awt.RepaintArea.paintComponent(Unknown Source)
at sun.awt.RepaintArea.paint(Unknown Source)
at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Mi codigo:
class Dibujo extends Canvas{
Image buffer = null;
public Dibujo(){
setSize(new Dimension(200, 200));
buffer = createImage(200, 200);
}
public void paint(Graphics g){
Graphics screengc = g;
g = buffer.getGraphics(); // LINEA 59 del fuente
// Operaciones de dibujo sobre g
screengc.drawImage(buffer, 0, 0, null);
}
}
Alguien me puede explicar que es lo que pasa (y como arreglarlo)??
Muchas gracias!! Un saludo