Package uk.ac.starlink.table.gui
Class StarTableModel
- java.lang.Object
-
- javax.swing.table.AbstractTableModel
-
- uk.ac.starlink.table.gui.StarTableModel
-
- All Implemented Interfaces:
java.io.Serializable
,javax.swing.table.TableModel
public class StarTableModel extends javax.swing.table.AbstractTableModel
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 instanceTables.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:
JTable
, Serialized Form
-
-
Constructor Summary
Constructors Constructor Description StarTableModel(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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Class<?>
getColumnClass(int icol)
int
getColumnCount()
java.lang.String
getColumnName(int icol)
int
getRowCount()
StarTable
getStarTable()
Gets the StarTable underlying this model.java.lang.Object
getValueAt(int irow, int icol)
boolean
hasRowHeader()
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 Detail
-
startable
protected StarTable startable
-
-
Constructor Detail
-
StarTableModel
public StarTableModel(StarTable startable)
Constructs a StarTableModel from a StarTable, without row index column. The supplied StarTable must provide random access.- Parameters:
startable
- the StarTable object- Throws:
java.lang.IllegalArgumentException
- if startable.isRandom returns false- See Also:
Tables.randomTable(uk.ac.starlink.table.StarTable)
-
StarTableModel
public StarTableModel(StarTable startable, boolean rowHeader)
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:
java.lang.IllegalArgumentException
- if startable.isRandom returns false- See Also:
Tables.randomTable(uk.ac.starlink.table.StarTable)
-
-
Method Detail
-
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
public StarTable getStarTable()
Gets the StarTable underlying this model.- Returns:
- the StarTable object
-
getRowCount
public int getRowCount()
-
getColumnCount
public int getColumnCount()
-
getValueAt
public java.lang.Object getValueAt(int irow, int icol)
-
getColumnName
public java.lang.String getColumnName(int icol)
- Specified by:
getColumnName
in interfacejavax.swing.table.TableModel
- Overrides:
getColumnName
in classjavax.swing.table.AbstractTableModel
-
getColumnClass
public java.lang.Class<?> getColumnClass(int icol)
- Specified by:
getColumnClass
in interfacejavax.swing.table.TableModel
- Overrides:
getColumnClass
in classjavax.swing.table.AbstractTableModel
-
-