我正在使用a JTable,我需要允许移动其列.但是出现了问题.一旦他们重新安排,就像他们只改变了内容和标题.但我也需要改变它们的索引.
为了更清楚,我举一个例子.假设我的第一列被称为"名字".调用'setName()'方法时,无论列在何处,名称都必须始终转到该列.但不是第一栏.希望你明白我的意思!
我已经写完了所需的方法.希望有一种方法可以实现这一点,而无需触及完成的方法.
任何帮助深表感谢!!!
为了更清楚,我举一个例子.假设我的第一列被称为"名字".调用'setName()'方法时,无论列在何处,名称都必须始终转到该列.但不是第一栏.希望你明白我的意思!
如果要更改数据,只需TableModel直接更改基础.列的顺序永远不会改变,TableModel只有在视图(JTable)中才会重新排序这些列.
如果你想要浏览表格,你必须使用可用的JTable#convertColumnIndexToModel(视图 - >模型)和JTable#convertColumnIndexToView(模型 - >视图)方法将"视图坐标"转换为"模型坐标",如@MadProgrammer所述.
您当然不应该更新您在其中一条评论中提到的setValueAt方法TableModel.如前所述,TableModel不会改变列的顺序,因此setValueAt应始终使用"模型坐标"调用,因此无需转换那些