尝试从Swing中的JTable检索数据时出现空指针异常

时间:2015-02-26 18:51:30

标签: java swing multidimensional-array nullpointerexception jtable

我有一个JTable,我希望循环遍历该表的行和列以检索每个值,然后将该值添加到2D数组(矩阵)。但是,当尝试提取表中的最后一个值时,我得到NullPointerException。我有以下代码:

DefaultTableModel dtm = (DefaultTableModel) table.getModel();
        double [][] matrix = new double[rows][cols];
        for(int i=0;i<rows;i++){
            for(int j=0;j<cols;j++){
                matrix[i][j]=Double.parseDouble((String) dtm.getValueAt(i, j));
            }
        }

非常感谢任何帮助

Error message Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at java.lang.Double.parseDouble(Unknown Source)
at Inverse.actionPerformed(Inverse.java:102)

1 个答案:

答案 0 :(得分:1)

方法

dtm.getValueAt(row, column);

返回一个不是int的对象 然后你试图将一个对象转换为一个字符串,然后解析为一个双精度 给你null

试试这个:

DefaultTableModel dtm = (DefaultTableModel) table.getModel();
    double [][] matrix = new double[rows][cols];
    for(int i=0;i<rows;i++){
        for(int j=0;j<cols;j++){
            matrix[i][j]=Double.parseDouble(dtm.getValueAt(i,j).toString());
        }

    }