java表格获取选中行的内容,并赋值到另一表格中(赋代码)

首先假设两个JTable,他们为table1与table2
假设从table1取值放到table2中
1、获得table1的选中行

 int index = table1.getSelectedRow();

2、获得table1中列的总个数:

int column = table1.getColumnCount();

3、取出表格中index行中的值,用集合保存!
(1)创建一个保存的集合

Vector<Vector<Object>> vector =new Vector<Vector<Object>>();

(2) 再创建一个集合,用于加入到第一个集合

Vector<Object> object =new Vector<Object>();

(3) 将index行的所有数据取出放入第二个集合中

for(int n= 0; n < column; n ++){
object.add(table1.getValueAt(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);

下面贴出我自己的一端代码:

    /*
    *  @小笨猪
    */
      //声明两个可变的对象数组:
       Vector CellsVector = new Vector();
       Vector TitleVector = new Vector();

       //声明元素:
       int[] index;
       int column;
       //设置表格的表头
       TitleVector.add("已选部门");
       //初始化表格
       JTable ShowTable1 = new JTable();
       JTable ShowTable2 = new JTable(CellsVector, TitleVector);

       index = ShowTable1.getSelectedRows();//获取选中行  
       //column = ShowTable1.getColumnCount();//获取列数
       //创建一个保存的集合,用来存放选中的元素
       Vector<Object> object =new Vector<Object>();
       //获取选中值,并赋值到存放的数组;
       for(int rowindex : ShowTable1.getSelectedRows()){
          Object obj=ShowTable1.getValueAt(rowindex,2);//获取选中行第3列的内容
      object.add(obj);//将获取的数据放到存储的集合中
       }
       for (int i = 0; i < object.size(); i++) {
          Vector v = new Vector();//存储数据的数组
          v.add(object.get(i));
          //判断一下要添加的元素是否已经存在,若存在则不进行添加
          //contains(v):如果此向量包含指定的v元素,则返回 true。
          if(!CellsVector.contains(v)){
             CellsVector.add(v);
          }
       }
       ShowTable2.updateUI();//此方法为更新第二个表格
  • 8
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值