Package weka.gui
Class SortedTableModel
- java.lang.Object
-
- javax.swing.table.AbstractTableModel
-
- weka.gui.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$
- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSortedTableModel.SortContainerHelper class for sorting the columns.
-
Constructor Summary
Constructors Constructor Description SortedTableModel()initializes with no modelSortedTableModel(TableModel model)initializes with the given model
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddMouseListenerToHeader(JTable table)Adds a mouselistener to the header: left-click on the header sorts in ascending manner, using shift-left-click in descending manner.intgetActualRow(int visibleRow)Returns the actual underlying row the given visible one represents.Class<?>getColumnClass(int columnIndex)Returns the most specific superclass for all the cell values in the column.intgetColumnCount()Returns the number of columns in the modelStringgetColumnName(int columnIndex)Returns the name of the column at columnIndexTableModelgetModel()returns the current model, can be nullintgetRowCount()Returns the number of rows in the model.ObjectgetValueAt(int rowIndex, int columnIndex)Returns the value for the cell at columnIndex and rowIndex.booleanisCellEditable(int rowIndex, int columnIndex)Returns true if the cell at rowIndex and columnIndex is editable.booleanisSorted()returns whether the table was sortedvoidsetModel(TableModel value)sets the model to usevoidsetValueAt(Object aValue, int rowIndex, int columnIndex)Sets the value in the cell at columnIndex and rowIndex to aValue.voidsort(int columnIndex)sorts the table over the given column (ascending)voidsort(int columnIndex, boolean ascending)sorts the table over the given column, either ascending or descendingvoidtableChanged(TableModelEvent e)This fine grain notification tells listeners the exact range of cells, rows, or columns that changed.-
Methods inherited from class javax.swing.table.AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, removeTableModelListener
-
-
-
-
Constructor Detail
-
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 Detail
-
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:
getColumnClassin interfaceTableModel- Overrides:
getColumnClassin classAbstractTableModel- 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:
getColumnCountin interfaceTableModel- Returns:
- the number of columns in the model
-
getColumnName
public String getColumnName(int columnIndex)
Returns the name of the column at columnIndex- Specified by:
getColumnNamein interfaceTableModel- Overrides:
getColumnNamein classAbstractTableModel- 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:
getRowCountin interfaceTableModel- 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:
getValueAtin interfaceTableModel- Parameters:
rowIndex- the rowcolumnIndex- 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:
isCellEditablein interfaceTableModel- Overrides:
isCellEditablein classAbstractTableModel- Parameters:
rowIndex- the rowcolumnIndex- 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:
setValueAtin interfaceTableModel- Overrides:
setValueAtin classAbstractTableModel- Parameters:
aValue- the new value of the cellrowIndex- the rowcolumnIndex- 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 overascending- 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:
tableChangedin interfaceTableModelListener- 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
-
-