有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在Java中,swing将JTable的值替换为计算结果的值

我想替换索引[0][2]中变量数组的值,即列标题的名称为“1/y”。以前的值是0.0,我想用计算结果的值替换它,但是当我尝试显示它时,它的值仍然是0.0,这是我的代码

titleColoumn = new Object[]{"Time (Second)","Medicine", "1/y",  "x2", "X/Y", "Y^", "Error"};
                                    //0    1   2   3   4   5   6
         allData = new Double[][]  {{1.0,1.02,0.0,0.0,0.0,0.0,0.0},
                                    {2.0,0.667,0.0,0.0,0.0,0.0,0.0},
                                    {3.0,0.367,0.0,0.0,0.0,0.0,0.0},
                                    {4.0,0.278,0.0,0.0,0.0,0.0,0.0},
                                    {5.0,0.237,0.0,0.0,0.0,0.0,0.0},
                                    {6.0,0.187,0.0,0.0,0.0,0.0,0.0},
                                    {7.0,0.155,0.0,0.0,0.0,0.0,0.0},
                                    {8.0,0.156,0.0,0.0,0.0,0.0,0.0},
                                    {9.0,0.142,0.0,0.0,0.0,0.0,0.0},
                                    {10.0,0.111,0.0,0.0,0.0,0.0,0.0},
                                    {11.0,0.12,0.0,0.0,0.0,0.0,0.0},
                                    {12.0,0.097,0.0,0.0,0.0,0.0,0.0},
                                    {14.0,0.089,0.0,0.0,0.0,0.0,0.0},
                                    {15.0,0.079,0.0,0.0,0.0,0.0,0.0},
                                    {0.0,0.0,0.0,0.0,0.0,0.0,0.0}};

    tableObservation = new DefaultTableModel(allData, titleColoumn);
    table.setModel(tableObservation);

    int row,coloumn;
    //calculation 1/y
    row = 0;
    coloumn = 1;
    int inputRow = 0;
    int inputColoumn = 2;
    double onePerY;
    for(int a=0;a<allData.length;a++){
        onePerY = 1/allData[row][coloumn];
        //replace value
        allData [inputRow][inputColoumn] = onePerY;
        inputRow++;
        row++;
        System.out.println(onePerY);
    }    

我该怎么做才能替换它?你所给予的一切帮助,我将不胜感激,谢谢


共 (2) 个答案

  1. # 1 楼答案

    您更新的数组值不是TableModel值。使用jTable.getModel().setValueAt()传递inputRow、inputColumn和相应的值。您的模型必须是可编辑的。如果使用DefaultTableModel,默认情况下它是可编辑的

  2. # 2 楼答案

    阅读关于DefaultTableModel的内容,并使用它存储表的数据。当数据发生变化时,必须在表模型中更新数据

    还可以看看How to Use Tables