我有一些显示 JTable 的 JDialog。
单击标题列时,会对该列进行排序。
我的问题是:我如何知道何时单击了列标题并因此激活了排序。
当排序处于 Activity 状态时,我知道我应该使用 .convertRowIndexToModel
方法。
但是,如果没有 Activity 排序,我如何检测列是否正在排序,以免弄乱正确的索引?
最佳答案
一般来说,当您从 View (JTable
) 获取索引值并尝试在模型中查找某些值时,您应该始终使用 convertRowIndexToModel
。当您使用 JTable 的方法时,JTable
会自动执行此操作,但如果您不使用它,则需要自己处理。
无需知道 View 是否已排序...
如果您“确实”想知道表格何时排序,您可以附加 RowSorterListener
到表使用的 TableRowSorter
。
您还可以使用TableRowSorter#getSortKeys
查看排序中包含哪些列...
关于java - 何时使用convertRowIndexToModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25926070/