@Override public void actionPerformed(ActionEvent e) { GuiUtils.cancelEditing(table); int[] rowsSelected = table.getSelectedRows(); if (rowsSelected.length > 0 && rowsSelected[rowsSelected.length - 1] < table.getRowCount() - 1) { table.clearSelection(); for (int i = rowsSelected.length - 1; i >= 0; i--) { int rowSelected = rowsSelected[i]; model.moveRow(rowSelected, rowSelected + 1, rowSelected + 1); } for (int rowSelected : rowsSelected) { table.addRowSelectionInterval(rowSelected + 1, rowSelected + 1); } } } }
@Override public void actionPerformed(ActionEvent e) { GuiUtils.cancelEditing(table); int[] rowsSelected = table.getSelectedRows(); if (rowsSelected.length > 0 && rowsSelected[0] > 0) { table.clearSelection(); for (int rowSelected : rowsSelected) { model.moveRow(rowSelected, rowSelected + 1, rowSelected - 1); } for (int rowSelected : rowsSelected) { table.addRowSelectionInterval(rowSelected - 1, rowSelected - 1); } } } }
/** * Move a row down */ private void moveDown() { //get the selected rows before stopping editing // or the selected rows will be unselected int[] rowsSelected = table.getSelectedRows(); GuiUtils.stopTableEditing(table); if (rowsSelected.length > 0 && rowsSelected[rowsSelected.length - 1] < table.getRowCount() - 1) { table.clearSelection(); for (int i = rowsSelected.length - 1; i >= 0; i--) { int rowSelected = rowsSelected[i]; tableModel.moveRow(rowSelected, rowSelected + 1, rowSelected + 1); } for (int rowSelected : rowsSelected) { table.addRowSelectionInterval(rowSelected + 1, rowSelected + 1); } scrollToRowIfNotVisible(rowsSelected[0]+1); } }
/** * Move a row down */ private void moveUp() { //get the selected rows before stopping editing // or the selected rows will be unselected int[] rowsSelected = table.getSelectedRows(); GuiUtils.stopTableEditing(table); if (rowsSelected.length > 0 && rowsSelected[0] > 0) { table.clearSelection(); for (int rowSelected : rowsSelected) { tableModel.moveRow(rowSelected, rowSelected + 1, rowSelected - 1); } for (int rowSelected : rowsSelected) { table.addRowSelectionInterval(rowSelected - 1, rowSelected - 1); } scrollToRowIfNotVisible(rowsSelected[0]-1); } }