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.AbstractTableModelAdapts 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)intgetColumnCount()java.lang.StringgetColumnName(int icol)intgetRowCount()StarTablegetStarTable()Gets the StarTable underlying this model.java.lang.ObjectgetValueAt(int irow, int icol)booleanhasRowHeader()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:
getColumnNamein interfacejavax.swing.table.TableModel- Overrides:
getColumnNamein classjavax.swing.table.AbstractTableModel
-
getColumnClass
public java.lang.Class<?> getColumnClass(int icol)
- Specified by:
getColumnClassin interfacejavax.swing.table.TableModel- Overrides:
getColumnClassin classjavax.swing.table.AbstractTableModel
-
-