I have a JTable (extended) and an implementation of TableModel, in which I have the methods ...
- moveEntryUp(int rowIdx)
- moveEntryDown(int rowIdx)
... within the table model implementation. I have verified that these work properly.
However, I am having problems in getting the changes made in the table model to propagate to the actual JTable. In this table I only allow single row selection, and have seperate button for Up and Down. When a row is elected, I need to be able to move that row up and down, and preserve the selection.
E.g.
If my rows are[A, B, C(selected)], and I press the up button,
I should get [A, C(selected), B].
The various app开发者_运维技巧roaches I have tried so far either fail to refresh the values in the JTable, or lose the selection.
NOTE:
I am hesitant to use a solution which requires an explicit call torepaint().
Assume that all cells in the JTable are not editable.Answering own question:
int row = mTable.getSelectedRow();
mTableModel.moveEntryUp(row);
mTable.getSelectionModel().setSelectionInterval(row -1, row -1);
Where mTable is the JTable, and mTableModel is my table model implementation, and is equivalent to mTable.getModel() (and typecast).
Should've poked around longer before asking!
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论