我估计错误是出在 actionPerformed 方法中的 tm.rowdata.addElement(tm.data); 你在循环中只是清除了 tm.data 里面的元素,但是 tm.data 对象还是没有变化的!而 addElement 只保存了对 tm.data 的引用,这种情况就很像使用 Vector 保存 String[] 数组对象一样,你试试下面两段代码,它们是不同的片断一:
Vector v = new Vector();
String[] a = new String[2];
int i,counter=0;
for(i=0;i<3;i++)
{
a[0]="" + counter++;
a[1]="" + counter++;
v.add(a);
}
for(i=0;i<3;i++)
{
String[] test=(String[])v.get(i);
System.out.println(test[0]+"***"+test[1]);
}片断二:
Vector v = new Vector();
String[] a = null;
int i,counter=0;
for(i=0;i<3;i++)
{
a = new String[2];
a[0]="" + counter++;
a[1]="" + counter++;
v.add(a);
}
for(i=0;i<3;i++)
{
String[] test=(String[])v.get(i);
System.out.println(test[0]+"***"+test[1]);
}所以,我估计你的程序也是应该把 tm.data 指向新的对象才能适用你的要求了。