最近憋大作业,写了一个小程序,想在JPanel里面使用Graphics类,所以有以下代码:
92 Graphics g = panel[1].getGraphics();
93 Graphics2D g2d = (Graphics2D)g;
94 g2d.clearRect(0, 0, getWidth(), getHeight());
95   g2d.setColor(Color.yellow);
96   g2d.fillRect(0, 0, getWidth(), getHeight());     
97  
98   for(int i=0; i<6; i++){
99 this.add(panel[i]);
100 }
101 }
102
103 public static void main(String args[]){           104    JFrame.setDefaultLookAndFeelDecorated(true);
105
106         SwingUtilities.invokeLater(new Runnable() {
107             public void run() {
108               JWeiqi_Test2 w = new JWeiqi_Test2();
              w.setVisible(true);
      }
    });
  }
}

编译时没有问题,运行时却发生如下异常:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at JWeiqi_Test2.<init>(JWeiqi_Test2.java:94)
        at JWeiqi_Test2$1.run(JWeiqi_Test2.java:108)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(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)
恳请大牛们指点一下~~谢谢~~

解决方案 »

  1.   

    对象空指针错误。
    打个断点跟一下 看看你getWidth(), getHeight()两个获得的是否是空值null
      

  2.   

    可是我把getWidth改为定值后还是会出现同样的问题……
      

  3.   

    一般空指针肯定是你前面有值没有数据
    g2d.clearRect(0, 0, getWidth(), getHeight());
    这个代码仔细检查下 把这个 所有的都分析下 试试