Exception in thread "main" java.lang.NullPointerException
at zhong.BlackVSWhite.init(BlackVSWhite.java:84)
at com.borland.jbuilder.runtime.applet.AppletTestbed.startApplet(Unknown Source)
at com.borland.jbuilder.runtime.applet.AppletTestbed.main(Unknown Source)
就提示这种错误是什么问题啊

解决方案 »

  1.   

     java.lang.NullPointerException 
    空指针错误,你调用的那个对象是空的
    比如下面代码MyClass c = null;
    c.getId(); // 此时 c==null, 不能调用 getId() 方法;你去查
    BlackVSWhite.java 的 84行,看看是不是忘了初始化了
      

  2.   


     private MediaTracker imageTracke
     private Image redImage;
     private Image blueImage;
     private Image offScrImage;
     private Graphics offScrGraphics;
          
    imageTracker = new MediaTracker( this );
    offScrImage = createImage( 400, 400 ); 
    offScrGraphics = offScrImage.getGraphics();//84行
    这要怎么弄才对啊。帮我下。我不会。
      

  3.   

    createImage(400,400)出错了,估计返回的是null!offScrImage = createImage( 400, 400 ); 
    System.out.println("offSrcImage="+offSrcImage); // 看看输出什么
    offScrGraphics = offScrImage.getGraphics();//84行
      

  4.   

    offSrcImage=null没错,是空,那要怎么改?
    private MediaTracker imageTracker;
      private Image redImage;
      private Image blueImage;
      private Image offScrImage;
      private Graphics offScrGraphics;
      private Font f;
      private int fontHeight;
      private int fontAscent;
      private Button button;
      private int buttonHeight;
      private Choice choice;
      private Choice moveFirst;
      private boolean redMoveFirst;
      private boolean illegalMove;
      private boolean blueNotMoving;
      private boolean animating;
      private int redScore;
      private int blueScore;
      private Thread aThread;
      private static final int EMPTY = 0;
      private static final int RED = 2;
      private static final int BLUE = 3;
      private static final int BLUE_TEMP = 4;
      private static final int RED_TEMP = 5;
      private static final int VERYGOOD = 9999;
      private static int DIM = 10;
      private int boardSize = 400;
      private int[] grid = new int[400];  private synchronized void newGame()
      {
        DIM = (new Integer((String) choice.getSelectedItem())).intValue();
        int whoMoveFirst=moveFirst.getSelectedIndex();
        if(whoMoveFirst==0)
              redMoveFirst = true;
        else
                    redMoveFirst = false;    int n1;
        int n2;
        for( n1 = 0; n1 < DIM; ++n1 )
        {
          for( n2 = 0; n2 < DIM; ++n2 )
            grid[n1 * DIM + n2] = EMPTY;
        }
        n2 = DIM / 2;
        grid[(n2 - 1) * DIM + (n2 - 1)] = RED;
        grid[(n2 - 1) * DIM + n2] = BLUE;
        grid[n2 * DIM + (n2 - 1)] = BLUE;
        grid[n2 * DIM + n2] = RED;
        offScrGraphics.setColor( Color.white );
        offScrGraphics.fillRect( 0, 0, boardSize, boardSize );
        redScore = blueScore = 0;
        illegalMove = blueNotMoving = animating = false;
        boardSize = -1;
        repaint();
        if( !redMoveFirst )
        {
          blueMove();
          checkScore();
          repaint();
        }
      }  public synchronized void init()
      {
        aThread = null;
        imageTracker = new MediaTracker( this );
        offScrImage = createImage( 400, 400 );
        System.out.println("offSrcImage="+offScrImage);
        offScrGraphics = offScrImage.getGraphics();
        f = new Font( "TimesRoman", 0, 12 );
        offScrGraphics.setFont( f );
        fontHeight = getFontMetrics( f ).getHeight();
        fontAscent = getFontMetrics( f ).getAscent();
        loadImages();