【问题标题】:fill array with data from jTable用 jTable 中的数据填充数组
【发布时间】:2015-05-19 00:09:07
【问题描述】:

我在 NetBeans IDE 中工作,语言 Java,主类是 JFrame Form。

我需要从 JTable 中获取所有数据并用这些数据填充数组。数组代表矩阵。

代码如下

public double[][] getMatrix(JTable jt, int row, int col){
        double[][] doub=new double[row][col];

        for(int l=0;l<com;l++){
            for(int g=0;g<row;g++){
                doub[g][l]=(double) jt.getValueAt(g, l);
            }
        }
        System.out.println(jt.getValueAt(g, l)); /*The output is correct*/
        return doub;
    }

我有一个错误

线程“AWT-EventQueue-0”java.lang.ClassCastException 中的异常:java.lang.String 无法转换为 java.lang.Double

所以将表中的元素设置为双精度不是那么容易吗? 我做错了什么?

【问题讨论】:

    标签: java jtable


    【解决方案1】:

    System.out.println(jt.getValueAt(g, l)); /输出正确/

    那是因为 System.out.println() 调用了 Object 的 toString() 方法。

    如果你想创建一个双精度数组,那么你真的应该将 Double 对象存储在 TableModel 中,而不是 Double 对象的字符串表示形式。

    阅读 How to Use Tables 上的 Swing 教程中的部分,了解更多信息和在表的每一列中存储不同类型数据的示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多