Module is.codion.swing.common.ui
Interface FilterTableColumnModel<C>
- Type Parameters:
C
- the type of column identifier
- All Superinterfaces:
TableColumnModel
A TableColumnModel handling hidden columns.
Note that this column model does not support dynamically adding or removing columns,
TableColumnModel.addColumn(TableColumn)
and TableColumnModel.removeColumn(TableColumn)
both throw UnsupportedOperationException
.-
Method Summary
Modifier and TypeMethodDescriptionReturns the TableColumn with the given identifiercolumns()
boolean
containsColumn
(C identifier) getColumn
(int columnIndex) hidden()
identifier
(int modelColumnIndex) locked()
Returns aState
instance controlling whether this model is locked or not.void
Resets the columns to their original location and visibilityvoid
setVisibleColumns
(C... identifiers) Arranges the columns so that only the given columns are visible and in the given ordervoid
setVisibleColumns
(List<C> identifiers) Arranges the columns so that only the given columns are visible and in the given ordervisible()
Returns the State for controlling the column visibilityMethods inherited from interface javax.swing.table.TableColumnModel
addColumn, addColumnModelListener, getColumnCount, getColumnIndex, getColumnIndexAtX, getColumnMargin, getColumns, getColumnSelectionAllowed, getSelectedColumnCount, getSelectedColumns, getSelectionModel, getTotalColumnWidth, moveColumn, removeColumn, removeColumnModelListener, setColumnMargin, setColumnSelectionAllowed, setSelectionModel
-
Method Details
-
columns
Collection<FilterTableColumn<C>> columns()- Returns:
- an unmodifiable view of all columns in this model, both hidden and visible, in no particular order
-
visible
List<FilterTableColumn<C>> visible()- Returns:
- an unmodifiable view of the currently visible columns
-
locked
State locked()Returns aState
instance controlling whether this model is locked or not. A locked column model does not allow adding or removing of columns, but columns can be reordered.- Returns:
- a
State
controlling whether this model is locked or not
-
setVisibleColumns
Arranges the columns so that only the given columns are visible and in the given order- Parameters:
identifiers
- the column identifiers- Throws:
IllegalArgumentException
- in case a column is not found
-
setVisibleColumns
Arranges the columns so that only the given columns are visible and in the given order- Parameters:
identifiers
- the column identifiers- Throws:
IllegalArgumentException
- in case a column is not found
-
column
Returns the TableColumn with the given identifier- Parameters:
identifier
- the column identifier- Returns:
- the TableColumn with the given identifier
- Throws:
IllegalArgumentException
- in case this table model does not contain a column with the given identifier
-
getColumn
- Specified by:
getColumn
in interfaceTableColumnModel
-
visible
Returns the State for controlling the column visibility- Parameters:
identifier
- the column identifier- Returns:
- a State for controlling the column visibility
- Throws:
IllegalArgumentException
- in case the column is not found
-
containsColumn
- Parameters:
identifier
- the column identifier- Returns:
- true if this column model contains a column with the given identifier
-
identifier
- Parameters:
modelColumnIndex
- the column model index- Returns:
- the column identifier
-
resetColumns
void resetColumns()Resets the columns to their original location and visibility -
columnHidden
- Returns:
- an observer notified each time a column is hidden
-
columnShown
- Returns:
- an observer notified each time a column is shown
-