Package uk.ac.starlink.table.gui
Class StarTableModel
java.lang.Object
javax.swing.table.AbstractTableModel
uk.ac.starlink.table.gui.StarTableModel
- All Implemented Interfaces:
Serializable
,TableModel
Adapts a StarTable into a TableModel.
The base StarTable must provide random access (its isRandom
method must return true); to make a StarTableModel if your
StarTable is not random you will have to make a random one using
for instance
Tables.randomTable(uk.ac.starlink.table.StarTable)
.
One extra bit of functionality is enabled, namely that an extra column containing row indices may be provided.
As well as providing the data model for a JTable, this class can be used as a general wrapper for StarTable objects when the event handling mechanism it supplies is required.
- Author:
- Mark Taylor (Starlink)
- See Also:
-
Field Summary
FieldsFields inherited from class javax.swing.table.AbstractTableModel
listenerList
-
Constructor Summary
ConstructorsConstructorDescriptionStarTableModel
(StarTable startable) Constructs a StarTableModel from a StarTable, without row index column.StarTableModel
(StarTable startable, boolean rowHeader) Constructs a StarTableModel from a StarTable, optionally with a row index column. -
Method Summary
Modifier and TypeMethodDescriptionClass<?>
getColumnClass
(int icol) int
getColumnName
(int icol) int
Gets the StarTable underlying this model.getValueAt
(int irow, int icol) boolean
Indicates whether the first column in this table is an artificial one containing just the index of the row.Methods inherited from class javax.swing.table.AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, isCellEditable, removeTableModelListener, setValueAt
-
Field Details
-
startable
-
-
Constructor Details
-
StarTableModel
Constructs a StarTableModel from a StarTable, without row index column. The supplied StarTable must provide random access.- Parameters:
startable
- the StarTable object- Throws:
IllegalArgumentException
- if startable.isRandom returns false- See Also:
-
StarTableModel
Constructs a StarTableModel from a StarTable, optionally with a row index column. The supplied StarTable must provide random access.- Parameters:
startable
- the StarTable objectrowHeader
- whether to add an extra column at the start containing the row index- Throws:
IllegalArgumentException
- if startable.isRandom returns false- See Also:
-
-
Method Details
-
hasRowHeader
public boolean hasRowHeader()Indicates whether the first column in this table is an artificial one containing just the index of the row.- Returns:
- true iff column 0 is a row index
-
getStarTable
Gets the StarTable underlying this model.- Returns:
- the StarTable object
-
getRowCount
public int getRowCount() -
getColumnCount
public int getColumnCount() -
getValueAt
-
getColumnName
- Specified by:
getColumnName
in interfaceTableModel
- Overrides:
getColumnName
in classAbstractTableModel
-
getColumnClass
- Specified by:
getColumnClass
in interfaceTableModel
- Overrides:
getColumnClass
in classAbstractTableModel
-