我在写一个计算器时候写到下面一段代码JPanel[] jp = new JPanel[6];
for(int i =0; i< 6; i++){
jp[i]= new JPanel();//没有这句就错
jp[i].setLayout(new GridLayout(1,5,5,5));
calPanel.add(jp[i]);
}
注释的那句不写就会错误。
明明上面已经申请了一个含有6个JPanel的数组了,
为什么下面还要new 才能用?double[] db = new double[20];
db不也可以直接用么?

解决方案 »

  1.   

    new JPanel[6]只是建了个JPanel类型的数组,并没有初始化,后面肯定就报错了。
    你注释掉的就是给数组的每个元素进行初始化操作。
    double不一样,double是基本数据类型,默认初始为0,对象数组不会自动初始化的
      

  2.   

    还有。我想要让一个
    JTextField的内容右对齐,就是像WINDOWS计算器的文本框一样从右边开始显示。
    如何设置?
      

  3.   

    setHorizontalAlignment(JTextFild.RIGHT)