是否可以从我的表模型中获取所选行索引?
我的对象已经知道了表模型。我自己可以使用模型获取所选索引,而不是传递对表的引用吗?
答案 0 :(得分: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
答案 1 :(得分:6)
TableModel只关注数据,ListSelectionModel关注当前选择的内容,因此,不能从TableModel中获取所选行。
答案 2 :(得分:0)
如果你让你的模型类实现ListSelectionModel以及TableModel,你将能够从一个模型中获得选择......但是你不能扩展两个抽象模型类:-((无论如何它也不是很好的主意)因为你的班级将承担太多责任。)
答案 3 :(得分:0)
您可以从绑定表中获取索引,然后可以使用它来操作表模型。例如,如果我想在表模型中删除一行:
myTableModel.removeValueAt(myTable.getSelectedRow());