Hi srs.
I'm writing a code for a game like Table Tennis and i have to use double buffering to prevent flickering.
The problem is that i have a background picture and another picture attached to the mouse moviments and the current code that i have, compiles but is not working.
Im getting a nullPointerException.
Have anyone experienced something like this??
Here is the code...and exception too.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| import java.awt.*; import java.awt.event.*; import javax.swing.*;
public class PingPong extends Frame { public static void main(String[] args) { new PingPong(); } PingPong() { super("PingPong v0.02"); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); pingPongPanel pp = new pingPongPanel(); add(pp); pack(); show(); } class pingPongPanel extends Canvas implements MouseMotionListener { int xPos = 0, yPos = 0; int centerX = 35, centerY= 65; String bgImage = "Pix/game_arena.jpg", raqte = "Pix/raquete.png"; Image raquete, bg, bgbuffer; Graphics bgOff;
pingPongPanel() { raquete = Toolkit.getDefaultToolkit().getImage(this.getClass().getResource(raqte)); bg = Toolkit.getDefaultToolkit().getImage(this.getClass().getResource(bgImage));
bgbuffer = createImage(665, 580); bgOff = bgbuffer.getGraphics(); addMouseMotionListener(this); setSize(665,580); } public void paint(Graphics g) { super.paint(g); bgOff.drawImage(bg, 0, 0, this); bgOff.drawImage(raquete, xPos - centerX, yPos - centerY, this); g.drawImage(bgbuffer, 0, 0, this); }
public void update(Graphics g) { paint(g); }
public void mouseMoved(MouseEvent event) { xPos = event.getX(); yPos = event.getY(); repaint(); } public void mouseDragged(MouseEvent event) {} } } |
exception:
1 2 3 4 5 6 7
| fcn@tornado:~/Java/PingPong/src$ javac PingPong.java fcn@tornado:~/Java/PingPong/src$ java PingPong Exception in thread "main" java.lang.NullPointerException at PingPong$pingPongPanel.<init>(PingPong.java:38) at PingPong.<init>(PingPong.java:19) at PingPong.main(PingPong.java:7) fcn@tornado:~/Java/PingPong/src$ |
Thanx in advance
Fernando