JTable(Vector rowData, Vector columnNames) 问题

JTable(Vector rowData, Vector columnNames) 问题,第1张

你的Vector<grade>

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)

大功告成!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11201237.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存