Note that there are some explanatory texts on larger screens.

plurals
  1. POmouseMoved giving null exception pointer - completely baffled (more Stanford CS106 pain)
    primarykey
    data
    text
    <p>I have got this exercise working perfectly:</p> <pre><code>import acm.program.*; import acm.graphics.*; import java.awt.event.*; public class ProgramHierarchy extends GraphicsProgram { public void run() { Paddle = new GRect(0,getHeight() - 30,100,20); add(Paddle); addMouseListeners(); } public void mouseMoved(MouseEvent e) { if(e.getX() - Paddle.getWidth()&gt;0) { Paddle.move(e.getX()-Paddle.getX()-Paddle.getWidth(), 0); } } private GRect Paddle; } </code></pre> <p>But when I use the <strong>exact same code</strong> in a larger project, my eclipse throws null pointer exceptions and even hard-crashes eclipse altogether and I hit my desk and say bad things I would not like my family to hear. Is my copy of eclipse corrupt? What could be going on?</p> <p>Here's my larger hard-crashing project.</p> <pre><code>import acm.graphics.*; import acm.program.*; import acm.util.*; import java.applet.*; import java.awt.*; import java.awt.event.*; public class Breakout extends GraphicsProgram { public static final int APPLICATION_WIDTH = 400; public static final int APPLICATION_HEIGHT = 600; private static final int WIDTH = APPLICATION_WIDTH; private static final int HEIGHT = APPLICATION_HEIGHT; private static final int PADDLE_WIDTH = 60; private static final int PADDLE_HEIGHT = 10; private static final int PADDLE_Y_OFFSET = 30; private static final int NBRICKS_PER_ROW = 10; private static final int NBRICK_ROWS = 10; private static final int BRICK_SEP = 3; private static final int BRICK_WIDTH = (WIDTH - (NBRICKS_PER_ROW - 1) * BRICK_SEP) / NBRICKS_PER_ROW; private static final int BRICK_HEIGHT = 8; private static final int BALL_RADIUS = 10; private static final int BRICK_Y_OFFSET = 70; private static final int NTURNS = 3; private static final int DELAY = 30; public void run() { setup(); GRect Paddle = new GRect(0,HEIGHT - PADDLE_HEIGHT - PADDLE_Y_OFFSET,PADDLE_WIDTH,PADDLE_HEIGHT); add(Paddle); addMouseListeners(); } private void setup() { int xStart = (WIDTH - ((NBRICKS_PER_ROW * BRICK_WIDTH) + ((NBRICKS_PER_ROW -1) * BRICK_SEP)))/2; int y = BRICK_Y_OFFSET; for (int i = 0; i&lt; NBRICK_ROWS; i++) { int x = xStart; for (int j = 0; j &lt; NBRICKS_PER_ROW; j++) { GRect block = new GRect(x, y, BRICK_WIDTH, BRICK_HEIGHT); if (i&lt;2) { block.setColor(Color.RED); block.setFilled(true); block.setFillColor(Color.red); } if (i==2||i==3) { block.setColor(Color.orange); block.setFilled(true); block.setFillColor(Color.orange); } if (i==4||i==5) { block.setColor(Color.yellow); block.setFilled(true); block.setFillColor(Color.yellow); } if (i==6||i==7) { block.setColor(Color.green); block.setFilled(true); block.setFillColor(Color.green); } if (i==8||i==9) { block.setColor(Color.cyan); block.setFilled(true); block.setFillColor(Color.cyan); } add (block); x=x+BRICK_WIDTH + BRICK_SEP; } y=y+BRICK_HEIGHT+BRICK_SEP; } } public void mouseMoved(MouseEvent PadX) { if(PadX.getX() - Paddle.getWidth()&gt;0) { Paddle.move(PadX.getX()-Paddle.getX()-Paddle.getWidth(), 0); } } private GRect Paddle; } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload