public class NestedTableColumnHeader extends TableColumnHeader
This class is used to construct the header of a TableView. We take the approach that every TableView header is nested - even if it isn't. This allows for us to use the same code for building a single row of TableColumns as we would with a heavily nested sequences of TableColumns. Because of this, the TableHeaderRow class consists of just one instance of a NestedTableColumnHeader.
TableColumnHeader
,
TableHeaderRow
,
TableColumnBase
tableColumnProperty
Modifier and Type | Field and Description |
---|---|
private <any> |
columnHeaders |
private <any> |
columns
Represents the actual columns directly contained in this nested column.
|
private <any> |
columnsListener
*
Listeners *
*
|
(package private) static java.lang.String |
DEFAULT_STYLE_CLASS
*
Static Fields *
*
|
private static int |
DRAG_RECT_WIDTH |
private double |
dragAnchorX |
private java.util.Map<<any>,Rectangle> |
dragRects |
private TableColumnHeader |
label |
private double |
lastX |
private static <any> |
rectCursorChangeListener |
private static <any> |
rectMouseDragged |
private static <any> |
rectMousePressed |
private static <any> |
rectMouseReleased |
private static java.lang.String |
TABLE_COLUMN_HEADER_KEY |
private static java.lang.String |
TABLE_COLUMN_KEY |
private <any> |
unmodifiableColumnHeaders |
(package private) boolean |
updateColumns |
private WeakListChangeListener |
weakColumnsListener |
changeListenerHandler, columnIndex, columnReorderLine, DEFAULT_COLUMN_WIDTH, isLastVisibleColumn, sortPos
Constructor and Description |
---|
NestedTableColumnHeader(TableColumnBase tc)
Creates a new NestedTableColumnHeader instance to visually represent the given
TableColumnBase instance. |
Modifier and Type | Method and Description |
---|---|
private void |
checkState() |
private void |
columnResizing(TableColumnBase col,
MouseEvent me) |
private void |
columnResizingComplete(TableColumnBase col,
MouseEvent me) |
private void |
columnResizingStarted(double startX) |
protected double |
computePrefHeight(double width) |
protected double |
computePrefWidth(double height) |
private TableColumnHeader |
createColumnHeader(TableColumnBase col) |
protected TableColumnHeader |
createTableColumnHeader(TableColumnBase col)
Creates a new TableColumnHeader instance for the given TableColumnBase instance.
|
(package private) void |
dispose() |
<any> |
getColumnHeaders()
Returns an unmodifiable list of the
TableColumnHeader instances
that are children of this NestedTableColumnHeader. |
(package private) <any> |
getColumns() |
(package private) double |
getDragRectHeight() |
(package private) void |
initStyleClasses()
*
Private Implementation *
*
|
private boolean |
isColumnResizingEnabled()
*
Private Implementation: Column Resizing *
*
|
protected void |
layoutChildren() |
private void |
rebuildDragRects() |
(package private) boolean |
represents(<any> column) |
(package private) void |
setColumns(<any> newColumns) |
(package private) void |
setHeadersNeedUpdate() |
(package private) void |
setParentHeader(NestedTableColumnHeader parentHeader) |
(package private) void |
setTableHeaderRow(TableHeaderRow header) |
private void |
updateContent() |
(package private) void |
updateTableColumnHeaders() |
columnReordering, columnReorderingComplete, columnReorderingStarted, computeMinHeight, getClassCssMetaData, getCssMetaData, getNestedColumnHeader, getParentHeader, getTableColumn, getTableHeaderRow, getTableSkin, installTableColumnStyleClassListener, moveColumn, queryAccessibleAttribute, setNestedColumnHeader, tableColumnProperty
static final java.lang.String DEFAULT_STYLE_CLASS
private static final int DRAG_RECT_WIDTH
private static final java.lang.String TABLE_COLUMN_KEY
private static final java.lang.String TABLE_COLUMN_HEADER_KEY
private <any> columns
private TableColumnHeader label
private <any> columnHeaders
private <any> unmodifiableColumnHeaders
private double lastX
private double dragAnchorX
private java.util.Map<<any>,Rectangle> dragRects
boolean updateColumns
private final <any> columnsListener
private final WeakListChangeListener weakColumnsListener
private static final <any> rectMousePressed
private static final <any> rectMouseDragged
private static final <any> rectMouseReleased
private static final <any> rectCursorChangeListener
public NestedTableColumnHeader(TableColumnBase tc)
TableColumnBase
instance.tc
- The table column to be visually represented by this instance.void dispose()
dispose
in class TableColumnHeader
public final <any> getColumnHeaders()
TableColumnHeader
instances
that are children of this NestedTableColumnHeader.protected void layoutChildren()
layoutChildren
in class TableColumnHeader
protected double computePrefWidth(double height)
computePrefWidth
in class TableColumnHeader
protected double computePrefHeight(double width)
computePrefHeight
in class TableColumnHeader
protected TableColumnHeader createTableColumnHeader(TableColumnBase col)
TableColumnHeader.getTableColumn()
, then it is
suggested to return a TableColumnHeader
instance comprised of the given column.NestedTableColumnHeader
instance instead.col
- the table columnvoid initStyleClasses()
initStyleClasses
in class TableColumnHeader
void setTableHeaderRow(TableHeaderRow header)
setTableHeaderRow
in class TableColumnHeader
void setParentHeader(NestedTableColumnHeader parentHeader)
setParentHeader
in class TableColumnHeader
<any> getColumns()
void setColumns(<any> newColumns)
void updateTableColumnHeaders()
boolean represents(<any> column)
represents
in class TableColumnHeader
double getDragRectHeight()
getDragRectHeight
in class TableColumnHeader
void setHeadersNeedUpdate()
private void updateContent()
private void rebuildDragRects()
private void checkState()
private TableColumnHeader createColumnHeader(TableColumnBase col)
private boolean isColumnResizingEnabled()
private void columnResizingStarted(double startX)
private void columnResizing(TableColumnBase col, MouseEvent me)
private void columnResizingComplete(TableColumnBase col, MouseEvent me)