BackBuffer - NullPointerException

cs_Pascmar Messages postés 2 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 18 septembre 2003 - 18 sept. 2003 à 20:10
mimah Messages postés 35 Date d'inscription samedi 16 août 2003 Statut Membre Dernière intervention 11 novembre 2003 - 23 sept. 2003 à 08:03
Bonjour,

j'ai un problème avec l'utilisation d'un "backBuffer" pour améliorer le rendu d'affichage d'une application.

Le lien suivant est un exemple d'applet démontrant l'utilité d'une telle implémentation :

http://www.dgp.utoronto.ca/~mjmcguff/learn/java/07-backbuffer/

J'essaie de refaire la même chose chez moi mais je me heurte sans arrêt à une exception de type NullPointer. (Je parle du dernier exemple, celui qui donne un rendu parfait).

Plus précisément, JBuilder m'indique l'erreur suivante :

Citation:
-----------------------------------------------
java.lang.NullPointerException
at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:50)
at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:749)
at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:2803)
at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:2793)
at test.Frame1.update(Frame1.java:68 )
at test.Frame1.paint(Frame1.java:71)
at sun.awt.RepaintArea.paint(RepaintArea.java:177)
at sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:260)
at java.awt.Component.dispatchEventImpl(Component.java:3699)
at java.awt.Container.dispatchEventImpl(Container.java:1623)
at java.awt.Window.dispatchEventImpl(Window.java:1590)
at java.awt.Component.dispatchEvent(Component.java:3480)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)
--------------------------------------------------

C'est l'erreur générée quand j'écris ça :

Code:
------------------------------
Image img;
Image backbuffer;
Graphics backg;
java.awt.Toolkit toolkit = java.awt.Toolkit.getDefaultToolkit();
(...);
img = toolkit.getImage("emplacement de mon image");
backbuffer = createImage(200,200);
backg = backbuffer.getGraphics();
-------------------------------

Quelcun pourrait-il m'aider ?

Merci d'avance

1 réponse

mimah Messages postés 35 Date d'inscription samedi 16 août 2003 Statut Membre Dernière intervention 11 novembre 2003
23 sept. 2003 à 08:03
Salut,

Il me semble que que quand tu fais un createImage il faut que les dimensions passées en paramètres soient les dimensions exactes (ou plus petites) que le composant sur lequel il est appelé.
Donc il vaut mieux utiliser getSize().width et getSize().height pour les paramètres.

J'espère que ça peut t'aider.
0
Rejoignez-nous