Package uk.ac.starlink.util.gui
Class ArrayTableModel<R>
java.lang.Object
javax.swing.table.AbstractTableModel
uk.ac.starlink.util.gui.ArrayTableModel<R>
- All Implemented Interfaces:
Serializable
,TableModel
TableModel which contains its data as an array of objects, one per row.
The
ArrayTableSorter
class can be used in conjunction with
this class to provide tables which can be sorted by clicking on
column headers.
The model works by having an array of column objects which know how to
interrogate the array of data objects in such a way as to return cell
values. The implementation of the column and data item objects
is therefore interlinked.- Since:
- 14 Oct 2009
- Author:
- Mark Taylor
- See Also:
-
Field Summary
Fields inherited from class javax.swing.table.AbstractTableModel
listenerList
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionClass
<?> getColumnClass
(int icol) int
getColumnName
(int icol) List
<ArrayTableColumn<R, ?>> Returns the column specifiers used by this table.R[]
getItems()
Returns the row data items used by this model.int
getValueAt
(int irow, int icol) void
setColumns
(List<? extends ArrayTableColumn<? extends R, ?>> columns) Sets the column specifiers to be used by this table.void
Sets the row data items to be used by this table.void
sortByColumn
(int icol, boolean descending) Sorts the rows in this table according to the ordering of the data in one of the columns.Methods inherited from class javax.swing.table.AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, isCellEditable, removeTableModelListener, setValueAt
-
Constructor Details
-
ArrayTableModel
Constructor.- Parameters:
items
- initial list of items
-
-
Method Details
-
setColumns
Sets the column specifiers to be used by this table.- Parameters:
columns
- column specifiers
-
getColumns
Returns the column specifiers used by this table.- Returns:
- column specifiers
-
setItems
Sets the row data items to be used by this table.- Parameters:
items
- row data items, one per row
-
getItems
Returns the row data items used by this model.- Returns:
- row data items, one per row
-
sortByColumn
public void sortByColumn(int icol, boolean descending) Sorts the rows in this table according to the ordering of the data in one of the columns. The ordering may not be maintained if the data changes.- Parameters:
icol
- index of column to sort bydescending
- true to sort down, false to sort up
-
getColumnCount
public int getColumnCount() -
getRowCount
public int getRowCount() -
getValueAt
-
getColumnName
- Specified by:
getColumnName
in interfaceTableModel
- Overrides:
getColumnName
in classAbstractTableModel
-
getColumnClass
- Specified by:
getColumnClass
in interfaceTableModel
- Overrides:
getColumnClass
in classAbstractTableModel
-