我有一个 JTable (延长)和执行情况 TableModel, 在我们的方法...

  • moveEntryUp(int rowIdx)
  • moveEntryDown(int rowIdx)

...在表模型的实施。我已经验证了这些正常工作。

然而,我具有的问题在得到修改表模式传播到实际 JTable.在此表我只允许单个行选择,并有独立的按钮 起来.当行选举,我需要能够举行了下来, 保留的选择。

E.g。
如果我行 [A, B, C(selected)], 和我按了按钮,
我应该得到的 [A, C(selected), B].

各种办法,我已经试过这么远无法刷新的数值在JTable,或者失去选择。


注:
我犹豫使用的解决方案,它需要一个明确的呼吁 repaint().
假设所有的细胞 JTable 编辑。

有帮助吗?

解决方案

回答自己的问题:

int row = mTable.getSelectedRow();
mTableModel.moveEntryUp(row);
mTable.getSelectionModel().setSelectionInterval(row -1, row -1);

哪里 mTable 是JTable, mTableModel 是我的表型的实施,相当于 mTable.getModel() (和类型转换).

应该探长之前求!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top