下面列出了javax.swing.table.DefaultTableModel#moveRow ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private void moveDownButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_moveDownButtonActionPerformed
int index = driveOrdersTable.getSelectedRow();
if (index == -1) {
return;
}
if (index == driveOrdersTable.getRowCount() - 1) {
return;
}
DefaultTableModel model = (DefaultTableModel) driveOrdersTable.getModel();
model.moveRow(index, index, index + 1);
driveOrdersTable.getSelectionModel().setSelectionInterval(index + 1, index + 1);
AbstractConnectableModelComponent location = fDestinationModels.remove(index);
fDestinationModels.add(index + 1, location);
String action = fActions.remove(index);
fActions.add(index + 1, action);
Map<String, String> properties = fPropertiesList.remove(index);
fPropertiesList.add(index + 1, properties);
updateButtons();
}
private void moveUpButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_moveUpButtonActionPerformed
int index = driveOrdersTable.getSelectedRow();
if (index <= 0) {
return;
}
DefaultTableModel model = (DefaultTableModel) driveOrdersTable.getModel();
model.moveRow(index, index, index - 1);
driveOrdersTable.getSelectionModel().setSelectionInterval(index - 1, index - 1);
AbstractConnectableModelComponent location = fDestinationModels.remove(index);
fDestinationModels.add(index - 1, location);
String action = fActions.remove(index);
fActions.add(index - 1, action);
Map<String, String> properties = fPropertiesList.remove(index);
fPropertiesList.add(index - 1, properties);
updateButtons();
}
private void onUpClick() {
ListSelectionModel listSelectionModel = getSelectionModel();
int r = listSelectionModel.getMinSelectionIndex();
if(r > 0) {
DefaultTableModel model = getModel();
int rNew = r - 1;
model.moveRow(r, r, rNew) ;
listSelectionModel.setSelectionInterval(rNew, rNew);
}
}
private void onDownClick() {
ListSelectionModel listSelectionModel = getSelectionModel();
int r = listSelectionModel.getMinSelectionIndex();
DefaultTableModel model = getModel();
if(r > -1 && r < model.getRowCount() - 1) {
int rNew = r + 1;
model.moveRow(r, r, rNew) ;
listSelectionModel.setSelectionInterval(rNew, rNew);
}
}
public void tableMoveSelection(JTable table, boolean up) throws ErroneousSelectionException {
barfIfNonconsecutiveSelection(table);
int row = table.getSelectedRow();
int lastRow = row + table.getSelectedRowCount() - 1;
if (row < 0) {
guiUtils.error("No signal selected");
return;
}
DefaultTableModel tableModel = (DefaultTableModel) table.getModel();
if (up) {
if (row == 0) {
guiUtils.error("Cannot move up");
return;
}
} else { // down
if (lastRow >= tableModel.getRowCount() - 1) {
guiUtils.error("Cannot move down");
return;
}
}
if (up) {
tableModel.moveRow(row, lastRow, row - 1);
table.addRowSelectionInterval(row - 1, row - 1);
table.removeRowSelectionInterval(lastRow, lastRow);
} else {
tableModel.moveRow(row, lastRow, row + 1);
table.addRowSelectionInterval(lastRow + 1, lastRow + 1);
table.removeRowSelectionInterval(row, row);
}
}
@Override public void drop(DropTargetDropEvent e) {
// Transferable t = e.getTransferable();
// DataFlavor[] f = t.getTransferDataFlavors();
// Component c = null;
// try {
// c = (Component) t.getTransferData(f[0]);
// } catch (UnsupportedFlavorException | IOException ex) {
// e.dropComplete(false);
// }
// if (c instanceof JTable) {
// JTable table = (JTable) c;
// DefaultTableModel model = (DefaultTableModel) table.getModel();
DefaultTableModel model = (DefaultTableModel) getModel();
if (isDropAcceptable(e)) {
if (targetIndex == draggedIndex) {
setRowSelectionInterval(targetIndex, targetIndex);
} else {
int tg = targetIndex < draggedIndex ? targetIndex : targetIndex - 1;
model.moveRow(draggedIndex, draggedIndex, tg);
setRowSelectionInterval(tg, tg);
}
e.dropComplete(true);
} else {
e.dropComplete(false);
}
e.dropComplete(false);
setCursor(Cursor.getDefaultCursor());
targetIndex = -1;
repaint();
}