实际上问题貌似很简单,但是实际上有问题 。这类问题基本上可以归为new一个对象数组问题。  代码如下:  JPanel panel[]=new JPanel[7]();
            或 JPanel panel[]=new JPanel()[7]; 很明显,上述两种写法都是错误的,但是正解该如何呢??

解决方案 »

  1.   

    答:JPanel panel[]=new JPanel[7]; 
      

  2.   

    这和定义一般的数组一样啊,如
    String[] s = new String[6];
    int[] n = new int[5];
      

  3.   

    和一般数组一样定义,说起来JPanel实际上就是Object:Object[] objs = new Object[int size];那么JPanel[] plns = new JPanel[int size]; 多维数组也与Object一致
      

  4.   


    // Jpanel对象数量
    int len = 3;
    // ...
    Jpane[] pnls = new JPanel[len]
    // 保存Jpanel对象到该数组
    for (int i = 0; i < pnls.length; i++) {
        pnls[i] = new JPanel();
         pnls[i].setLayout(null);
        // ...
    }
    http://topic.csdn.net/u/20081211/01/f40f4796-ef52-4bd6-aa56-8adee47c9505.html
      

  5.   

    但是,如果正如各位所说,panel[]=new JPanel[7],那为什么我引用panel[0]的时候提示NullPointer呢?
      

  6.   


    panel[]=new JPanel[7]只是定义了一个7长度的数组,并没有对数组元素初始化啊,对象数组,如果没有赋值,默认值就是null。panel[]=new JPanel[7];
    for(int i = 0; i < panel.length; i++){
    panel[i] = new JPanel();
    }