Class 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 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:
    JTable, Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected StarTable startable  
      • Fields inherited from class javax.swing.table.AbstractTableModel

        listenerList
    • 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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

    • 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 object
        rowHeader - 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 interface javax.swing.table.TableModel
        Overrides:
        getColumnName in class javax.swing.table.AbstractTableModel
      • getColumnClass

        public java.lang.Class<?> getColumnClass​(int icol)
        Specified by:
        getColumnClass in interface javax.swing.table.TableModel
        Overrides:
        getColumnClass in class javax.swing.table.AbstractTableModel