我有两个JTable
个。例如TB1和TB2,每个只有一列。
每个表都包含一些值。或者第二个表可能是空的。 我只需要
将TB1的值添加到TB2。
还需要比较两个表值并将其写入TB2,而不进行复制
我正在使用netbeans-8。
String[] Ary = {};
Vector R_D=new Vector();
int found=0;
for(int i=0;i<=t1.getRowCount()-1;i++){
System.out.println(t1.getRowCount());
for(int j=0;j<=t2.getRowCount()-1;j++){
if(t1.getValueAt(i, 0)!=t2.getValueAt(j, 0)){
System.err.println("Compare "+t1.getValueAt(i, 0)+"and "+t2.getValueAt(j, 0));
found=0;
}
else{
found=1;
System.err.println("Found Match at +t1.getValueAt(i, 0)+"and "+t2.getValueAt(j, 0));
}
}
if(found==0){
Ary[i]=t1.getValueAt(i, 0).toString();
R_D.add(t1.getValueAt(i, 0).toString());
}
((DefaultTableModel) t2.getModel()).insertRow(i, R_D);
}
在这一部分
Ary[i]=t1.getValueAt(i, 0).toString();
我收到一些错误消息,如:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0
如何避免此异常?
答案 0 :(得分:4)
String[] Ary = {};
您正在创建一个空数组。
也许你想要这样的东西:
String[] array = new String[t1.getRowCount()];
现在你有一个与表中行数相同的数组。