我在NetBeans IDE中工作,langueage Java,主要类是JFrame Form。
我需要从JTable获取所有数据并用这些数据填充数组。数组代表Matrix。
代码如下
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;
}
我有错误
线程中的异常&#34; AWT-EventQueue-0&#34; java.lang.ClassCastException:java.lang.String无法强制转换为java.lang.Double
所以从表中设置元素是不容易的? 我做错了什么?
答案 0 :(得分:0)
System.out.println(jt.getValueAt(g,l)); / 输出正确 /
这是因为System.out.println()调用了Object的toString()方法。
如果你想创建一个double数组,那么你真的应该在Double
中存储TableModel
个对象,而不是Double对象的String表示。
阅读How to Use Tables上Swing教程中的部分,了解有关在表格中每列中存储不同类型数据的更多信息和示例。