Class XYDatasetTableModel

  • All Implemented Interfaces:
    java.io.Serializable, java.util.EventListener, javax.swing.table.TableModel, DatasetChangeListener

    public class XYDatasetTableModel
    extends javax.swing.table.AbstractTableModel
    implements javax.swing.table.TableModel, DatasetChangeListener
    A READ-ONLY wrapper around a TableXYDataset to convert it to a table model for use in a JTable. The first column of the table shows the x-values, the remaining columns show the y-values for each series (series 0 appears in column 1, series 1 appears in column 2, etc).

    TO DO:

    • implement proper naming for x axis (getColumnName)
    • implement setValueAt to remove READ-ONLY constraint (not sure how)
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) TableXYDataset model
      The dataset.
      • Fields inherited from class javax.swing.table.AbstractTableModel

        listenerList
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void datasetChanged​(DatasetChangeEvent event)
      Receives notification that the underlying dataset has changed.
      int getColumnCount()
      Gets the number of columns in the model.
      java.lang.String getColumnName​(int column)
      Returns the column name.
      int getRowCount()
      Returns the number of rows.
      java.lang.Object getValueAt​(int row, int column)
      Returns a value of the specified cell.
      boolean isCellEditable​(int row, int column)
      Returns a flag indicating whether or not the specified cell is editable.
      void setModel​(TableXYDataset dataset)
      Sets the model (dataset).
      void setValueAt​(java.lang.Object value, int row, int column)
      Updates the XYDataset if allowed.
      • Methods inherited from class javax.swing.table.AbstractTableModel

        addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getColumnClass, getListeners, getTableModelListeners, removeTableModelListener
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface javax.swing.table.TableModel

        addTableModelListener, getColumnClass, removeTableModelListener
    • Constructor Detail

      • XYDatasetTableModel

        public XYDatasetTableModel()
        Default constructor.
      • XYDatasetTableModel

        public XYDatasetTableModel​(TableXYDataset dataset)
        Creates a new table model based on the specified dataset.
        Parameters:
        dataset - the dataset.
    • Method Detail

      • setModel

        public void setModel​(TableXYDataset dataset)
        Sets the model (dataset).
        Parameters:
        dataset - the dataset.
      • getRowCount

        public int getRowCount()
        Returns the number of rows.
        Specified by:
        getRowCount in interface javax.swing.table.TableModel
        Returns:
        The row count.
      • getColumnCount

        public int getColumnCount()
        Gets the number of columns in the model.
        Specified by:
        getColumnCount in interface javax.swing.table.TableModel
        Returns:
        The number of columns in the model.
      • getColumnName

        public java.lang.String getColumnName​(int column)
        Returns the column name.
        Specified by:
        getColumnName in interface javax.swing.table.TableModel
        Overrides:
        getColumnName in class javax.swing.table.AbstractTableModel
        Parameters:
        column - the column index.
        Returns:
        The column name.
      • getValueAt

        public java.lang.Object getValueAt​(int row,
                                           int column)
        Returns a value of the specified cell. Column 0 is the X axis, Columns 1 and over are the Y axis
        Specified by:
        getValueAt in interface javax.swing.table.TableModel
        Parameters:
        row - the row number.
        column - the column number.
        Returns:
        The value of the specified cell.
      • isCellEditable

        public boolean isCellEditable​(int row,
                                      int column)
        Returns a flag indicating whether or not the specified cell is editable.
        Specified by:
        isCellEditable in interface javax.swing.table.TableModel
        Overrides:
        isCellEditable in class javax.swing.table.AbstractTableModel
        Parameters:
        row - the row number.
        column - the column number.
        Returns:
        true if the specified cell is editable.
      • setValueAt

        public void setValueAt​(java.lang.Object value,
                               int row,
                               int column)
        Updates the XYDataset if allowed.
        Specified by:
        setValueAt in interface javax.swing.table.TableModel
        Overrides:
        setValueAt in class javax.swing.table.AbstractTableModel
        Parameters:
        value - the new value.
        row - the row.
        column - the column.