Class SwingTableModel
- java.lang.Object
-
- javax.swing.table.AbstractTableModel
-
- net.sf.jguiraffe.gui.platform.swing.builder.components.table.SwingTableModel
-
- All Implemented Interfaces:
Serializable
,TableModel
public class SwingTableModel extends AbstractTableModel
A table model implementation for tables defined by the
TableTag
tag handler class.This class implements the typical table model functionality based on an
TableFormController
object provided by aTableTag
instance. Many methods can directly delegate to the controller object.- Version:
- $Id: SwingTableModel.java 205 2012-01-29 18:29:57Z oheger $
- Author:
- Oliver Heger
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class javax.swing.table.AbstractTableModel
listenerList
-
-
Constructor Summary
Constructors Constructor Description SwingTableModel(TableTag tt, JTable tab)
Creates a new instance ofSwingTableModel
and initializes it.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
fireTableChanged(TableModelEvent event)
Notifies listeners about a change in the data of this model.Class<?>
getColumnClass(int col)
Returns the data class of the specified column.int
getColumnCount()
Returns the number of columns of the represented table.String
getColumnName(int col)
Returns the name for the specified column.TableCellEditor
getEditor()
Returns the cell editor associated with this model.List<Object>
getModelData()
Returns the list with the data of this model.TableCellRenderer
getRenderer()
Returns the cell renderer associated with this model.int
getRowCount()
Returns the number of rows of the represented table.JTable
getTable()
Returns a reference to the associated table.TableTag
getTableTag()
Returns the table tag this model is based onto.Object
getValueAt(int row, int col)
Returns the value at the specified cell.boolean
hasEditor(int col)
Checks whether for the specified column a custom editor is specified.boolean
hasRenderer(int col)
Tests whether for the specified column a custom renderer is specified.boolean
isCellEditable(int row, int col)
Returns a flag whether the specified cell can be modified.void
setValueAt(Object value, int row, int col)
Sets the value for the specified cell.protected boolean
validateColumn(int col)
Validates the column with the specified index.-
Methods inherited from class javax.swing.table.AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, removeTableModelListener
-
-
-
-
Method Detail
-
getModelData
public List<Object> getModelData()
Returns the list with the data of this model. The list contains beans that define the values of the single columns.- Returns:
- the data list of this model
-
getTableTag
public TableTag getTableTag()
Returns the table tag this model is based onto.- Returns:
- the table tag
-
getTable
public JTable getTable()
Returns a reference to the associated table.- Returns:
- the table
-
getColumnCount
public int getColumnCount()
Returns the number of columns of the represented table.- Returns:
- the number of columns of this table
-
getRowCount
public int getRowCount()
Returns the number of rows of the represented table.- Returns:
- the number of rows of this table
-
getValueAt
public Object getValueAt(int row, int col)
Returns the value at the specified cell.- Parameters:
row
- the row indexcol
- the column index- Returns:
- the value of this cell
-
getColumnClass
public Class<?> getColumnClass(int col)
Returns the data class of the specified column. This implementation checks whether a logic column class was specified. If this is the case, it is mapped to the corresponding Java class. Otherwise, the Java class is directly obtained from the column definition.- Specified by:
getColumnClass
in interfaceTableModel
- Overrides:
getColumnClass
in classAbstractTableModel
- Parameters:
col
- the column index- Returns:
- the data class for the specified column
-
getColumnName
public String getColumnName(int col)
Returns the name for the specified column.- Specified by:
getColumnName
in interfaceTableModel
- Overrides:
getColumnName
in classAbstractTableModel
- Parameters:
col
- the column index- Returns:
- the title for this column
-
isCellEditable
public boolean isCellEditable(int row, int col)
Returns a flag whether the specified cell can be modified.- Specified by:
isCellEditable
in interfaceTableModel
- Overrides:
isCellEditable
in classAbstractTableModel
- Parameters:
row
- the row indexcol
- the column index- Returns:
- a flag whether this cell can be edited
-
setValueAt
public void setValueAt(Object value, int row, int col)
Sets the value for the specified cell.- Specified by:
setValueAt
in interfaceTableModel
- Overrides:
setValueAt
in classAbstractTableModel
- Parameters:
value
- the value to setrow
- the row indexcol
- the column index
-
fireTableChanged
public void fireTableChanged(TableModelEvent event)
Notifies listeners about a change in the data of this model. This implementation also notifies theTableFormController
about this change.- Overrides:
fireTableChanged
in classAbstractTableModel
- Parameters:
event
- the event
-
hasEditor
public boolean hasEditor(int col)
Checks whether for the specified column a custom editor is specified.- Parameters:
col
- the column index- Returns:
- a flag if this column has its own editor
-
getEditor
public TableCellEditor getEditor()
Returns the cell editor associated with this model. There is exactly one editor that is capable to serve all columns of this table (that define a custom editor).- Returns:
- the cell editor used for the represented table
-
hasRenderer
public boolean hasRenderer(int col)
Tests whether for the specified column a custom renderer is specified.- Parameters:
col
- the column index- Returns:
- a flag whether this column has a custom renderer
-
getRenderer
public TableCellRenderer getRenderer()
Returns the cell renderer associated with this model. There is exactly one renderer that is capable of rendering all columns of this table that define a custom renderer.- Returns:
- the cell renderer used for the represented table
-
validateColumn
protected boolean validateColumn(int col)
Validates the column with the specified index. This method is always called when the user has entered data into a cell of the table. It delegates to the editor form to validate the input fields used in this column. It will also notify theTableEditorValidationHandler
set for this table. If validation is successful, the value(s) will be written into the model.- Parameters:
col
- the column to be validated- Returns:
- a flag whether the data is valid
-
-