net.ajaest.lib.swing.util
Class MoveRowTableModel

java.lang.Object
  extended by javax.swing.table.AbstractTableModel
      extended by net.ajaest.lib.swing.util.MoveRowTableModel
All Implemented Interfaces:
java.io.Serializable, javax.swing.table.TableModel

public class MoveRowTableModel
extends javax.swing.table.AbstractTableModel
implements javax.swing.table.TableModel

See Also:
Serialized Form

Field Summary
protected  boolean cellEditable
           
protected  java.util.List<java.lang.String> columnNames
           
protected  java.util.List<java.util.List<java.lang.Object>> rows
           
private static long serialVersionUID
           
 
Fields inherited from class javax.swing.table.AbstractTableModel
listenerList
 
Constructor Summary
MoveRowTableModel(java.util.List<java.lang.String> columnNames)
           
 
Method Summary
 void addRow(java.util.List<java.lang.Object> row)
           
 java.util.List<?> getColumn(int columnIndex)
           
 java.lang.Class<?> getColumnClass(int columnIndex)
           
 int getColumnCount()
           
 java.lang.String getColumnName(int columnIndex)
           
 int getRowCount()
           
private  java.util.List<java.lang.Class<?>> getSuperClasses(java.lang.Class<?> c)
           
 java.lang.Object getValueAt(int rowIndex, int columnIndex)
           
 boolean isCellEditable(int rowIndex, int columnIndex)
           
static void main(java.lang.String... args)
           
 int[] moveDown(int[] selRows)
          Moves the specified rows a position down.
 int[] moveDown(int fromRowIndex, int toRowIndex)
           
 int[] moveRowsTo(int rowIndex, int[] selRows)
           
 int[] moveRowsTo(int rowIndex, int fromRowIndex, int toRowIndex)
           
 int[] moveRowsToBottom(int[] selRows)
           
 int[] moveRowsToBottom(int fromRowIndex, int toRowIndex)
           
 int[] moveRowsToTop(int[] selRows)
           
 int[] moveRowsToTop(int fromRowIndex, int toRowIndex)
           
 int[] moveUp(int[] selRows)
          Moves the specified rows a position up.
 int[] moveUp(int fromRowIndex, int toRowIndex)
           
 java.util.List<java.lang.Object> removeRow(int rowIndex)
           
 void setCellEditable(boolean b)
           
 void setValueAt(java.lang.Object aValue, int rowIndex, int columnIndex)
           
 
Methods inherited from class javax.swing.table.AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, removeTableModelListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.swing.table.TableModel
addTableModelListener, removeTableModelListener
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

rows

protected java.util.List<java.util.List<java.lang.Object>> rows

columnNames

protected java.util.List<java.lang.String> columnNames

cellEditable

protected boolean cellEditable
Constructor Detail

MoveRowTableModel

public MoveRowTableModel(java.util.List<java.lang.String> columnNames)
Method Detail

getColumn

public java.util.List<?> getColumn(int columnIndex)

getColumnClass

public java.lang.Class<?> getColumnClass(int columnIndex)
Specified by:
getColumnClass in interface javax.swing.table.TableModel
Overrides:
getColumnClass in class javax.swing.table.AbstractTableModel

getColumnCount

public int getColumnCount()
Specified by:
getColumnCount in interface javax.swing.table.TableModel

getColumnName

public java.lang.String getColumnName(int columnIndex)
Specified by:
getColumnName in interface javax.swing.table.TableModel
Overrides:
getColumnName in class javax.swing.table.AbstractTableModel

getRowCount

public int getRowCount()
Specified by:
getRowCount in interface javax.swing.table.TableModel

getValueAt

public java.lang.Object getValueAt(int rowIndex,
                                   int columnIndex)
Specified by:
getValueAt in interface javax.swing.table.TableModel

isCellEditable

public boolean isCellEditable(int rowIndex,
                              int columnIndex)
Specified by:
isCellEditable in interface javax.swing.table.TableModel
Overrides:
isCellEditable in class javax.swing.table.AbstractTableModel

setValueAt

public void setValueAt(java.lang.Object aValue,
                       int rowIndex,
                       int columnIndex)
Specified by:
setValueAt in interface javax.swing.table.TableModel
Overrides:
setValueAt in class javax.swing.table.AbstractTableModel

setCellEditable

public void setCellEditable(boolean b)

addRow

public void addRow(java.util.List<java.lang.Object> row)

removeRow

public java.util.List<java.lang.Object> removeRow(int rowIndex)

moveRowsTo

public int[] moveRowsTo(int rowIndex,
                        int[] selRows)

moveRowsTo

public int[] moveRowsTo(int rowIndex,
                        int fromRowIndex,
                        int toRowIndex)

moveRowsToTop

public int[] moveRowsToTop(int fromRowIndex,
                           int toRowIndex)

moveRowsToTop

public int[] moveRowsToTop(int[] selRows)

moveRowsToBottom

public int[] moveRowsToBottom(int fromRowIndex,
                              int toRowIndex)

moveRowsToBottom

public int[] moveRowsToBottom(int[] selRows)

moveUp

public int[] moveUp(int fromRowIndex,
                    int toRowIndex)

moveUp

public int[] moveUp(int[] selRows)
Moves the specified rows a position up. If rows are not consecutive, the rows are grouped and moved up above the previous element of the first selected row

Parameters:
selRows - rows to be moved
Returns:
The new position of moved rows

moveDown

public int[] moveDown(int fromRowIndex,
                      int toRowIndex)

moveDown

public int[] moveDown(int[] selRows)
Moves the specified rows a position down. If rows are not consecutive, the rows are grouped and moved down under the next element of the last selected row

Parameters:
selRows - rows to be moved
Returns:
The new position of moved rows

getSuperClasses

private java.util.List<java.lang.Class<?>> getSuperClasses(java.lang.Class<?> c)

main

public static void main(java.lang.String... args)