关于java的JTable 怎样获得选中某一行的值并且在另外一个JTable中显示出来

关于java的JTable 怎样获得选中某一行的值并且在另外一个JTable中显示出来,第1张

首先假设两个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= 0n <columnn ++){

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)

大功告成!

可以用DefaultTableModel,构造函数,DefaultTableModel model = new DefaultTableModel(列名,行数)再用这个模型构造一个JTable,new JTable(model),然后只需要设置model就可以了,在model中有个addRow(Object[])方法,可以在末尾添加一行数据

可以使用Swing的DefaultTableModel类。

DefaultTableModel model = new DefaultTableModel()// 新建一个默认数据模型

JTablt table = new JTable(model)// 用数据模型创建JTable,JTable会自动监听到数据模型中的数据改变并显示出来

JScrollPane jsp = new JScrollPane(table)// 用列表创建可滚动的Panel,把这个Panel添加到窗口中

Vector row = new Vector()// 数据行向量,使用它的add()添加元素,比如整数、String、Object等,有几行就new几个行向量

Vector data = new Vector()// 数据行向量集,因为列表不止一行,往里面添加数据行向量,添加方法add(row)

Vector names = new Vector()// 列名向量,使用它的add()方法添加列名

model.setDataVector(Vector data, Vector names)// 设置模型中的元素,它会自动显示在列表中


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

原文地址:https://54852.com/bake/11886247.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存