JButton button = new JButton("Click");
        第一种:
        Object obj[][] = {
            {"1", "", "", "","",button,button,button,button},
            {"2", "", "", "","",button,button,button,button},
            {"3", "", "", "","",button,button,button,button},
            {"4", "", "", "","",button,button,button,button},
            {"5", "", "", "","",button,button,button,button},
            {"6", "", "", "","",button,button,button,button},
        };
        
        第二种
        Object obj[][] = new Object[m_TableRowCount][9];
        for(int i=0;i<m_TableRowCount;i++)
        {
            for(int j=0;j<9;j++)
            {
                if(j == 0)
                {
                    obj[i][j] = (Object)("" + j);
                }
                else if(j == 1||j == 2||j == 3||j == 4)
                {
                    obj[i][j] = (Object)"";
                }
                else if(j == 6||j == 7||j == 8||j == 9)
                {
                    obj[i][j] = (Object)button;
                }
                else
                {                }
            }
        }
请问大侠们,我第二种赋值方法有问题么?我把此object数组作为JTable的数据,为什么第一种赋值没有任何问题,而第二种则无法正常赋值?

解决方案 »

  1.   

    第二种和第一种的结果不太一样吧
    第二种的每行的第一列是0(因为j==0,应该把该处的j改为i+1),而第一种是1-6
    Object obj[][] = new Object[m_TableRowCount][9];
    for(int i=0;i<m_TableRowCount;i++) {
        obj[i][0] = (Object)("" + (i+1));
        for(int j=1;j<9;j++) {
            if(j < 5) {
                obj[i][j] = (Object)"";
            }
            else {
                obj[i][j] = (Object)button;
            }
        }
    }
      

  2.   

    你把最后一个else{}删了  运行一下
      

  3.   

    Object obj[][] = new Object[6][9];
    for (int i = 0; i < 6; i++) {
    for (int j = 0; j < 9; j++) {
    if (j == 0) {
    obj[i][j] = ("" + j);
    } else if (j == 1 || j == 2 || j == 3 || j == 4) {
    obj[i][j] =  "";
    } else if (j == 6 || j == 7 || j == 8 || j == 9) {
    obj[i][j] =  button;
    } else { }
    }
    }lz的m_TableRowCount是什么 我试了试将它换为6编译时通过的 
      

  4.   

    不好意思忘了说了m_TableRowCount是个int,值恒定6.编译是没有问题的,问题在于放入Jtable后输出。
      

  5.   

    最后一个else if(j == 5||j == 6||j == 7||j == 8)
    你弄错位了
      

  6.   

    啊我说呢。我是java初学者。拿以前C#那一套搬过来结果2了一下对不住大家,不过还是谢谢大家,分数平均给,
    muzipeng2008最给力,多给,结贴。。