通过AbstractTableModel获取选定的行

Ham*_*aya 5 java swing jtable

是否可以从我的表模型中获取所选行索引?

我的对象已经知道了表模型.我自己可以使用模型获取所选索引,而不是传递对表的引用吗?

wil*_*ood 13

就像MrWiggles所说,你可以从ListSelectionModel中获取它,你可以从表本身访问它.但是,JTable中还有一些方便的方法来获取所选行.如果您的表是可排序的等,您还需要通过convertRowIndexToModel方法:)

来自JTable JavaDoc:

   int[] selection = table.getSelectedRows();
   for (int i = 0; i < selection.length; i++) {
     selection[i] = table.convertRowIndexToModel(selection[i]);
   }
   // selection is now in terms of the underlying TableModel
Run Code Online (Sandbox Code Playgroud)

  • 这工作,应该是正确的答案 (2认同)

tdd*_*key 6

TableModel只关注数据,ListSelectionModel关注当前选择的内容,因此,不能从TableModel中获取所选行.