va=new
Vector<grade>()里面的数据类型都是grade的,而grade又不是数组,所以你的va里面都是一个一个的grade对象,JTable不会自动解析你的grade的构造方法,把它变成String数组,所以你要手动提取出gr1,gr2,gr3中你所需要的数据然后加在不同的Vector对象里面,再把这些Vector对象add到一个Vector<Vector>类型的对象里面,然后再JTable的构造方法里用这个Vector<Vector>的对象就可以了
首先假设两个JTable,他们为table1与table2假设从table1取值放到table2中
1、获得table1的选中行
int
index
=
table1.getSelectedRow()
2、获得table1中列的个数
int
column
=
table1.getColumnCount()
3、取出表格中index行中的值,用集合保存!
(1)创建一个保存的集合Vector<Vector<Object>>
vector
=
Vector<Vector<Object>>()
(2)
再创建一个集合,用于加入到第一个集合
Vector<Object>
object
=
Vector<Object>()
(3)
将index行的所有数据取出放入第二个集合中
for(int
n=
0
n
<
column
n
++){
object.add(table1.getVauleAt(index,n))
}
(4)将第二集合中的数据加入到第一个集合中:
vector.add(object)
4、创建table2的列名,并用一个集合表示,!
(1)创建一个集合,用于创建列名Vector<Object>
object1
=
new
Vector<Object>()
(2)
为列名赋值,,,,在这里就省略了,具体的名视情况而定!
5、将取出的值加入到table2中:
(1)取得table2的模板DefaultTableModel
model
=
(DefaultTableModel)table2.getModel()
(2)为模板添加内容:model.setDataVector(vector,
object1);
(3)将模板添加到table2中,
table2.setModel(model)
大功告成!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)