Jtable 拖动排序

这篇博客探讨了在Java Swing中使用JTable时遇到的拖动列排序的问题。作者展示了如何设置允许列拖动排序,并在用户完成拖动排序后,如何正确遍历并获取拖动后的新顺序。通过调用JTable的convertColumnIndexToModel方法,可以得到拖动排序后的列索引,从而正确打印出新的列名和单元格值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

菜鸟问题,各位帮帮忙
Jtable 内容如下
 jTable1.setModel(new javax.swing.table.DefaultTableModel(
  new Object [][] {
  {内容1, 内容2},
  {内容3, 内容4,}
    
  },
  new String [] {
  "Title 1", "Title 2"
  }
  ));
显示如下
——————
|Title 1|Title 2|
——————
|内容1|内容2|
|内容3|内容4|
-------------
因为在NeatBeans里面设置了允许通过拖放操作对列进行排序,所以可以在界面上对于列进行拖放排序
即jTable1.getTableHeader().setReorderingAllowed(true);
拖动后界面如下
——————
|Title 2|Title 1|
——————
|内容2|内容1|
|内容4|内容3|


但是我打印出 列名看还是Title 1,Title 2的排列
for (int i = 0; i < this.jTable1.getModel().getColumnCount(); i++) {
  System.out.println( this.jTable1.getModel().getColumnName(i));
  }

-----------------------------分割下----------------------------------------------
请问,我现在想按照拖动后的顺序保存这个表格,请问如何遍历才是拖动后的表格顺序?

 

 

解决:

参考JTable的convertColumnIndexToModel方法

for (int i = 0; i < this.table.getModel().getColumnCount(); i++) { System.out.println( this.table.getModel().getColumnName(table.convertColumnIndexToModel(i))); } for(int i=0;i<table.getRowCount();i++){ for(int j=0;j<table.getColumnCount();j++){ System.out.println(table.getModel().getValueAt(i, table.convertColumnIndexToModel(j))); } }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值