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, setValueAt
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, removeTableModelListener
protected T extends ITableModel o
private javax.swing.RowSorter<javax.swing.table.DefaultTableModel> sorter
public ThisTableModel(T o)
DefaultTableModel
and setup recommended RowSorter
- TableRowSorter
o
- - data/listpublic int getColumnCount()
getColumnCount
in interface javax.swing.table.TableModel
getColumnCount
in class javax.swing.table.DefaultTableModel
ThisTableModel
DefaultTableModel
to work with ThisTableModel
field <T> o
public int getRowCount()
getRowCount
in interface javax.swing.table.TableModel
getRowCount
in class javax.swing.table.DefaultTableModel
ThisTableModel
DefaultTableModel
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.TableModel
getValueAt
in class javax.swing.table.DefaultTableModel
public boolean isCellEditable(int rowIndex, int columnIndex)
DefaultTableModel
to work with ThisTableModel
field <T> oisCellEditable
in interface javax.swing.table.TableModel
isCellEditable
in class javax.swing.table.DefaultTableModel
public java.lang.String getColumnName(int col)
DefaultTableModel
to work with ThisTableModel
field <T> ogetColumnName
in interface javax.swing.table.TableModel
getColumnName
in class javax.swing.table.DefaultTableModel
public java.lang.Class<?> getColumnClass(int columnIndex)
DefaultTableModel
to work with ThisTableModel
field <T> ogetColumnClass
in interface javax.swing.table.TableModel
getColumnClass
in class javax.swing.table.AbstractTableModel
public javax.swing.RowSorter<javax.swing.table.DefaultTableModel> getSorter()
TableRowSorter