日期:2014-05-20  浏览次数:20783 次

请教一个问题:Exception in thread "main" java.lang.NullPointerException
错误提示:
Exception   in   thread   "main "   java.lang.NullPointerException
at   awt.GridLayoutTest.init(GridLayoutTest.java:40)
at   awt.GridLayoutTest. <init> (GridLayoutTest.java:28)
at   awt.GridLayoutTest.main(GridLayoutTest.java:70)
程序如下:
package   awt;

import   java.awt.Button;
import   java.awt.Color;
import   java.awt.Frame;
import   java.awt.GridLayout;
import   java.awt.Panel;
import   java.awt.TextField;

public   class   GridLayoutTest   {
Frame   frame   =   null;
Panel   pm   =   null;
Panel   pc   =   null;
Panel   ps   =   null;
String[]   s   =   { "7 ", "8 ", "9 ", "/ ",
"sprt ", "4 ", "5 ", "6 ",
"* ", "% ", "1 ", "2 ",
"3 ", "- ", "1/x ", "0 ",
"+/- ", ". ", "+ ", "= "};
String[]   m   =   { "MC ", "MR ", "MS ", "M+ "};
String[]   c   =   { "Backspace ", "CE ", "C "};
Button[]   bs   =   new   Button[s.length];
Button[]   bm   =   new   Button[m.length];
Button[]   bc   =   new   Button[c.length];
TextField   tf   =   new   TextField( "0. ",150);

public   GridLayoutTest()   {
init();
}

private   void   init()   {
frame   =   new   Frame( "计算器   v1.0 ");
frame.setLayout(new   GridLayout(4,5,3,3));
for(int   i=0;i <bs.length;i++)
{
bs[i]   =   new   Button(s[i]);
bs[i].setBackground(Color.LIGHT_GRAY);
bs[i].setForeground(Color.blue);

ps.add(bs[i]);
}
for(int   j=0;j <bm.length;j++){
bm[j]   =   new   Button(m[j]);
bm[j].setBackground(Color.LIGHT_GRAY);
bm[j].setForeground(Color.blue);

pm.add(bm[j]);
}
for(int   k=0;k <bc.length;k++){
bc[k]   =   new   Button(c[k]);
bc[k].setBackground(Color.LIGHT_GRAY);
bc[k].setForeground(Color.blue);

pc.add(bc[k]);
}
frame.add(tf, "North ");
frame.add(pc, "Center ");
frame.add(pm, "West ");
frame.add(ps, "South ");
frame.setSize(150,150);
frame.pack();
frame.setVisible(true);

}

/**
  *   @param   args
  */
public   static   void   main(String[]   args)   {
new   GridLayoutTest();

}

}

------解决方案--------------------
ps = new Panel();
pm = new Panel();
pc = new Panel();
------解决方案--------------------
噢.初始化.