编译没有问题
运行是出现以下错误
Exception in thread "main" java.lang.NullPointerException
        at GameButton.main(GameButton.java:36)

解决方案 »

  1.   

    源程序代码如下:import javax.swing.*;
    import java.awt.GridLayout;
    public class GameButton extends JButton {
    private int X;
    private int Y;
    private int value;
    private boolean selected;
    private static GameButton[][] gbGroup; public GameButton(){
    super();
    } public GameButton(String s){
    super(s);
    }
    public void setX(int x) { X=x; }
    public void setY(int y) { Y=y; }
    public void setValue(int V) {value=V; }
    public int getX() {return X; }
    public int getY() {return Y; }
    public int getValue() {return value;}
    public void erase() {setValue(0);}
    public static void main(String[] args) {
    JFrame mFrame=new JFrame("lianPanel");
    mFrame.setSize(600,400);
    mFrame.setLocation(100,100);
    JPanel panel=new JPanel(new GridLayout(3,3));     for(int a=0;a<3;a++){
    for(int b=0;b<3;b++){
    gbGroup[a][b]=new GameButton(a+b+"");//出问题的是这一行
    }
    } for(int i=0;i<3;i++){
    for(int j=0;j<3;j++)
    panel.add(gbGroup[i][j]);
    }
    mFrame.add(panel,"Center");
    mFrame.setVisible(true);
    }
    }
      

  2.   

    import javax.swing.*;
    import java.awt.GridLayout;
    public class GameButton extends JButton {
    private int X;
    private int Y;
    private int value;
    private boolean selected;
    private static GameButton[][] gbGroup = new GameButton[3][3] ;  //修改这里就OK public GameButton(){
    super();
    } public GameButton(String s){
    super(s);
    }
    public void setX(int x) { X=x; }
    public void setY(int y) { Y=y; }
    public void setValue(int V) {value=V; }
    public int getX() {return X; }
    public int getY() {return Y; }
    public int getValue() {return value;}
    public void erase() {setValue(0);}
    public static void main(String[] args) {
    JFrame mFrame=new JFrame("lianPanel");
    mFrame.setSize(600,400);
    mFrame.setLocation(100,100);
    JPanel panel=new JPanel(new GridLayout(3,3));     for(int a=0;a<3;a++){
    for(int b=0;b<3;b++){
    gbGroup[a][b]=new GameButton(a+b+"");//出问题的是这一行
    }
    } for(int i=0;i<3;i++){
    for(int j=0;j<3;j++)
    panel.add(gbGroup[i][j]);
    }
    mFrame.add(panel,"Center");
    mFrame.setVisible(true);
    }
    }
      

  3.   

    多谢碧海夜心!
    到这里又有一个问题,为什么这些Button要我把鼠标放上去才显示出来啊?
    我的程序是想要它自动全部显示出来的阿