java - Java中用计算结果的值替换JTable的值

标签 java swing jtable defaulttablemodel

我想替换索引 [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);
    }    

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

最佳答案

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

关于java - Java中用计算结果的值替换JTable的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14383849/

相关文章:

java - 如果我更改 HashSet 中的对象会怎样?

java - Entry语句的作用是什么?

java - 哪种开源CMS最适合从外部创建内容?

java - JTable 中的多列排序

java - 返回对象数组方法

java - java/c++ 中的 WLAN SSID

java - 通过链接到数据库的id从表中删除多个记录

java - 如何更改给定行和索引处单元格的背景颜色?

java - 如何设置一个鼠标监听器使得表格只能点击一次?

java - 如何使 JTable 排序不在事件线程上?