Package weka.gui

Class SortedTableModel

All Implemented Interfaces:
Serializable, EventListener, TableModelListener, TableModel
Direct Known Subclasses:
ArffSortedTableModel

public class SortedTableModel extends AbstractTableModel implements TableModelListener
Represents a TableModel with sorting functionality.
Version:
$Revision: 14293 $
Author:
FracPete (fracpete at waikato dot ac dot nz)
See Also:
  • Constructor Details

    • SortedTableModel

      public SortedTableModel()
      initializes with no model
    • SortedTableModel

      public SortedTableModel(TableModel model)
      initializes with the given model
      Parameters:
      model - the model to initialize the sorted model with
  • Method Details

    • setModel

      public void setModel(TableModel value)
      sets the model to use
      Parameters:
      value - the model to use
    • getModel

      public TableModel getModel()
      returns the current model, can be null
      Returns:
      the current model
    • isSorted

      public boolean isSorted()
      returns whether the table was sorted
      Returns:
      true if the table was sorted
    • getActualRow

      public int getActualRow(int visibleRow)
      Returns the actual underlying row the given visible one represents. Useful for retrieving "non-visual" data that is also stored in a TableModel.
      Parameters:
      visibleRow - the displayed row to retrieve the original row for
      Returns:
      the original row
    • getColumnClass

      public Class<?> getColumnClass(int columnIndex)
      Returns the most specific superclass for all the cell values in the column.
      Specified by:
      getColumnClass in interface TableModel
      Overrides:
      getColumnClass in class AbstractTableModel
      Parameters:
      columnIndex - the index of the column
      Returns:
      the class of the specified column
    • getColumnCount

      public int getColumnCount()
      Returns the number of columns in the model
      Specified by:
      getColumnCount in interface TableModel
      Returns:
      the number of columns in the model
    • getColumnName

      public String getColumnName(int columnIndex)
      Returns the name of the column at columnIndex
      Specified by:
      getColumnName in interface TableModel
      Overrides:
      getColumnName in class AbstractTableModel
      Parameters:
      columnIndex - the column to retrieve the name for
      Returns:
      the name of the specified column
    • getRowCount

      public int getRowCount()
      Returns the number of rows in the model.
      Specified by:
      getRowCount in interface TableModel
      Returns:
      the number of rows in the model
    • getValueAt

      public Object getValueAt(int rowIndex, int columnIndex)
      Returns the value for the cell at columnIndex and rowIndex.
      Specified by:
      getValueAt in interface TableModel
      Parameters:
      rowIndex - the row
      columnIndex - the column
      Returns:
      the value of the sepcified cell
    • isCellEditable

      public boolean isCellEditable(int rowIndex, int columnIndex)
      Returns true if the cell at rowIndex and columnIndex is editable.
      Specified by:
      isCellEditable in interface TableModel
      Overrides:
      isCellEditable in class AbstractTableModel
      Parameters:
      rowIndex - the row
      columnIndex - the column
      Returns:
      true if the cell is editable
    • setValueAt

      public void setValueAt(Object aValue, int rowIndex, int columnIndex)
      Sets the value in the cell at columnIndex and rowIndex to aValue.
      Specified by:
      setValueAt in interface TableModel
      Overrides:
      setValueAt in class AbstractTableModel
      Parameters:
      aValue - the new value of the cell
      rowIndex - the row
      columnIndex - the column
    • sort

      public void sort(int columnIndex)
      sorts the table over the given column (ascending)
      Parameters:
      columnIndex - the column to sort over
    • sort

      public void sort(int columnIndex, boolean ascending)
      sorts the table over the given column, either ascending or descending
      Parameters:
      columnIndex - the column to sort over
      ascending - ascending if true, otherwise descending
    • tableChanged

      public void tableChanged(TableModelEvent e)
      This fine grain notification tells listeners the exact range of cells, rows, or columns that changed.
      Specified by:
      tableChanged in interface TableModelListener
      Parameters:
      e - the event
    • addMouseListenerToHeader

      public void addMouseListenerToHeader(JTable table)
      Adds a mouselistener to the header: left-click on the header sorts in ascending manner, using shift-left-click in descending manner.
      Parameters:
      table - the table to add the listener to