public class ThisTableModel<T extends ITableModel>
extends javax.swing.table.DefaultTableModel
DefaultTableModel for models implementing ITableModel
Since the overridden methods getColumnCount() and getRowCount() return 0 the first time they are called in super constructor, it seems that the size of internal Vector in DefaultTableModel never resets to values !=0 which causes problems with any functions that try to directly modify Table Model, such as removeRow(int row) method from DefaultTableModel. The tried fix in constructor of this class doesn't work. Good Luck!
| Modifier and Type | Field and Description |
|---|---|
protected T |
o |
private javax.swing.RowSorter<javax.swing.table.DefaultTableModel> |
sorter |
| Constructor and Description |
|---|
ThisTableModel(T o)
Construct Table model
DefaultTableModel and setup recommended RowSorter - TableRowSorter |
| Modifier and Type | Method and Description |
|---|---|
java.lang.Class<?> |
getColumnClass(int columnIndex)
Overridden method from
DefaultTableModel to work with ThisTableModel field <T> o |
int |
getColumnCount() |
java.lang.String |
getColumnName(int col)
Overridden method from
DefaultTableModel to work with ThisTableModel field <T> o |
int |
getRowCount() |
javax.swing.RowSorter<javax.swing.table.DefaultTableModel> |
getSorter()
Get the default recommended sorter
TableRowSorter |
java.lang.Object |
getValueAt(int rowIndex,
int columnIndex)
Overridden method from
DefaultTableModel to work with ThisTableModel field <T> o |
boolean |
isCellEditable(int rowIndex,
int columnIndex)
Overridden method from
DefaultTableModel to work with ThisTableModel field <T> o |
addColumn, addColumn, addColumn, addRow, addRow, convertToVector, convertToVector, getDataVector, insertRow, insertRow, moveRow, newDataAvailable, newRowsAdded, removeRow, rowsRemoved, setColumnCount, setColumnIdentifiers, setColumnIdentifiers, setDataVector, setDataVector, setNumRows, setRowCount, setValueAtaddTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, removeTableModelListenerprotected T extends ITableModel o
private javax.swing.RowSorter<javax.swing.table.DefaultTableModel> sorter
public ThisTableModel(T o)
DefaultTableModel and setup recommended RowSorter - TableRowSortero - - data/listpublic int getColumnCount()
getColumnCount in interface javax.swing.table.TableModelgetColumnCount in class javax.swing.table.DefaultTableModelThisTableModelDefaultTableModel to work with ThisTableModel field <T> o
public int getRowCount()
getRowCount in interface javax.swing.table.TableModelgetRowCount in class javax.swing.table.DefaultTableModelThisTableModelDefaultTableModel to work with ThisTableModel field <T> o
public java.lang.Object getValueAt(int rowIndex,
int columnIndex)
DefaultTableModel to work with ThisTableModel field <T> ogetValueAt in interface javax.swing.table.TableModelgetValueAt in class javax.swing.table.DefaultTableModelpublic boolean isCellEditable(int rowIndex,
int columnIndex)
DefaultTableModel to work with ThisTableModel field <T> oisCellEditable in interface javax.swing.table.TableModelisCellEditable in class javax.swing.table.DefaultTableModelpublic java.lang.String getColumnName(int col)
DefaultTableModel to work with ThisTableModel field <T> ogetColumnName in interface javax.swing.table.TableModelgetColumnName in class javax.swing.table.DefaultTableModelpublic java.lang.Class<?> getColumnClass(int columnIndex)
DefaultTableModel to work with ThisTableModel field <T> ogetColumnClass in interface javax.swing.table.TableModelgetColumnClass in class javax.swing.table.AbstractTableModelpublic javax.swing.RowSorter<javax.swing.table.DefaultTableModel> getSorter()
TableRowSorter