- java.lang.Object
-
- javafx.scene.Node
-
- javafx.scene.Parent
-
- javafx.scene.layout.Region
-
- javafx.scene.control.Control
-
- javafx.scene.control.TreeTableView<S>
-
- 参数类型
-
S
- 此TreeTableView中使用的TreeItem实例的类型。
- All Implemented Interfaces:
-
Styleable
,EventTarget
,Skinnable
@DefaultProperty("root") public class TreeTableView<S> extends Control
TreeTableView控件旨在可视化无限数量的数据行,分为列。 TreeTableView控件在概念上非常类似于TreeView
和TableView
控件,当您阅读时,您将看到API大致相同。 然而,给予了很高层次的概述,你会注意到,TreeTableView使用相同TreeItem
API为TreeView
,而你因此需要简单地设置root node
在TreeTableView。 类似地,TreeTableView控件使用与TableView
控件使用的相同的基于TableColumn的方法,除了使用特定于TableView的TableColumn
类别之外,您应该改用特定于TreeTableView的TreeTableColumn
类。 有关如何创建TreeTableView实例的示例,请参阅下面的“创建TreeTableView”控件部分。与
TableView
控件一样,TreeTableView控件具有许多功能,包括:- 强大的
TreeTableColumn
API:- 支持
cell factories
在渲染和编辑状态下轻松自定义cell
内容。 - 的说明书二百七万七千零二十九亿八千三百六十九万七千二百九十九 / 二百七十万七千零二十九亿八千三百七十一万三千八百七十九 / 二七零七零二九八三七二八八八零 ,并且还
fixed width columns
。 - 用户在运行时调整宽度。
- 用户在运行时重新排序列。
- 内置支持
column nesting
- 支持
- 不同的
resizing policies
来指定当用户调整列的大小时会发生什么。 - 通过点击列标题来支持
multiple column sorting
(按住Shift键盘键,同时点击标题按多个列排序)。
创建一个TreeTableView
创建TreeTableView是一个多步骤的过程,也取决于需要表示的底层数据模型。 对于这个例子,我们将使用TreeTableView来可视化文件系统,因此将使用如下定义的虚构(和非常简化的)File类:
public class File { private StringProperty name; public void setName(String value) { nameProperty().set(value); } public String getName() { return nameProperty().get(); } public StringProperty nameProperty() { if (name == null) name = new SimpleStringProperty(this, "name"); return name; } private LongProperty lastModified; public void setLastModified(long value) { lastModifiedProperty().set(value); } public long getLastModified() { return lastModifiedProperty().get(); } public LongProperty lastModifiedProperty() { if (lastModified == null) lastModified = new SimpleLongProperty(this, "lastModified"); return lastModified; } }
首先,需要定义一个TreeTableView实例:
TreeTableView<File> treeTable = new TreeTableView<>();
随着基本的TreeTableView实例化,我们接下来关注数据模型。 如上所述,对于这个例子,我们将使用File实例来表示一个文件系统。 为此,我们需要定义树表的根节点,如下所示:
TreeItem<File> root = new TreeItem<>(new File("/")); treeTable.setRoot(root);
随着根目录的设置,TreeTableView会在根目录的
children
发生变化时自动更新。在这一点上,我们现在有一个TreeTableView挂接来观察根TreeItem实例。 缺失的成分现在是分解模型中包含的数据并在一个或多个
TreeTableColumn
实例中表示的方法。 要创建一个两列的TreeTableView来显示文件名和最后修改的属性,我们扩展如上所示的代码如下:TreeTableColumns<File,String> fileNameCol = new TreeTableColumn<>("Filename"); TreeTableColumns<File,Long> lastModifiedCol = new TreeTableColumn<>("Size"); table.getColumns().setAll(fileNameCol, lastModifiedCol);
使用上面的代码,我们几乎完全定义了创建TreeTableView实例所需的最小属性。 唯一缺少的是27072983966129的两列 - 这是负责确定给定行中单元格的值的这些。 通常这些可以使用
TreeItemPropertyValueFactory
类来指定,但是您也可以创建一个匿名的内部类并执行必要的任务。 例如,使用TreeItemPropertyValueFactory
,您将执行以下操作:fileNameCol.setCellValueFactory(new TreeItemPropertyValueFactory("name")); lastModifiedCol.setCellValueFactory(new TreeItemPropertyValueFactory("lastModified"));
TreeTableView支持不包含属性的类
以上显示的代码是在域对象设计时考虑到JavaFX属性时创建TreeTableView的最短代码(另外,
TreeItemPropertyValueFactory
也支持普通的JavaBean属性,尽管有一个警告,因此请参阅类文档以获取更多信息信息)。 当不是这种情况时,需要提供一个自定义单元格值工厂。 有关单元格值工厂的更多信息,请参见TreeTableColumn
API文档,但简要说明如何指定TreeTableColumns:firstNameCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() { public ObservableValue<String> call(CellDataFeatures<Person, String> p) { // p.getValue() returns the TreeItem<Person> instance for a particular TreeTableView row, // p.getValue().getValue() returns the Person instance inside the TreeItem<Person> return p.getValue().getValue().firstNameProperty(); } });
}TreeTableView Selection / Focus API
要跟踪选择和重点,有必要熟悉
SelectionModel
和FocusModel
类。 TreeTableView最多有一个这些类的一个实例,分别可从selectionModel
和focusModel
属性获得。 虽然可以使用此API来设置新的选择模型,但在大多数情况下,这不是必需的 - 默认选择和焦点模型应该在大多数情况下工作。在实例化TreeTableView时使用的默认值为
SelectionModel
是MultipleSelectionModel
抽象类的实现。 但是,如selectionMode
属性的API文档中所述,默认值为SelectionMode.SINGLE
。 要在默认TreeTableView实例中启用多选,因此需要执行以下操作:treeTableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
自定义TreeTableView视觉
TreeTableView的视觉效果可以通过替换默认的
row factory
完全自定义。 一行工厂用于生成TreeTableRow
个实例,用于表示TreeTableView中的整个行。在许多情况下,这不是所期望的,因为更常见的情况是,单元格是以每列为单位进行定制的,而不是每行。 因此,重要的是要注意,
TreeTableRow
不是TreeTableCell
。 ATreeTableRow
只是一个零或多个TreeTableCell
的容器,在大多数情况下,您更有可能要创建自定义TreeTableCells而不是TreeTableRows。 创建自定义TreeTableRow实例的主要用例很可能是引入某种形式的列跨越支持。您可以通过将适当的函数分配给TreeTableColumns
cell factory
属性来创建自定义的TreeTableCell
实例。有关如何编写自定义单元格的更完整的说明,请参阅
Cell
类文档。编辑
此控件支持值的内联编辑,本节尝试概述可用的API以及如何使用它们。
首先,细胞编辑通常需要不同于不编辑细胞的用户界面。 这是正在使用的
Cell
实现的责任。 对于TreeTableView,强烈建议编辑为per-TreeTableColumn
而不是per row
,因为您希望用户不希望用不同的方式编辑每个列值,并且此方法允许对每列进行编辑。 您可以选择单元格是否永久处于编辑状态(例如,这对于CheckBox
单元格是常见的),或者在编辑开始时切换到不同的UI(例如,当单元格上接收到双击时)。要知道在单元格上请求编辑时,只需覆盖
Cell.startEdit()
方法,并根据需要更新单元格text
和graphic
属性(例如,将文本设置为空,并将图形设置为TextField
)。 此外,您还应该覆盖Cell.cancelEdit()
,以便在编辑结束时将UI重置为原始的可视状态。 在这两种情况下,重要的是您还要确保您调用超级方法以使单元格执行所有必须执行的任务,以进入或退出其编辑模式。一旦您的单元格处于编辑状态,您最感兴趣的下一件事就是如何提交或取消正在进行的编辑。 这是您作为电池厂商的责任。 您的单元实现将基于用户输入(例如当用户按下键盘上的Enter键或ESC键时)知道编辑结束。 发生这种情况时,您有责任酌情致电
Cell.commitEdit(Object)
或Cell.cancelEdit()
。当您拨打
Cell.commitEdit(Object)
一个事件触发到TreeTableView,您可以通过TreeTableColumn.setOnEditCommit(javafx.event.EventHandler)
添加一个EventHandler
观察。 同样,您还可以观察edit start
和edit cancel
的编辑事件。默认情况下,TreeTableColumn编辑提交处理程序不为空,并且使用默认处理程序尝试覆盖当前正在编辑的行中的项目的属性值。 它可以这样做,因为
Cell.commitEdit(Object)
方法被传递到新的值,并且这被传递到编辑提交处理程序通过CellEditEvent
被触发。 只需调用TreeTableColumn.CellEditEvent.getNewValue()
即可检索该值。需要注意的是,如果你把它是非常重要的
TreeTableColumn.setOnEditCommit(javafx.event.EventHandler)
用自己EventHandler
,那么你会删除默认的处理程序。 除非您再处理该属性(或相关数据源)的回写,否则不会发生任何事情。 您可以使用TableColumnBase.addEventHandler(javafx.event.EventType, javafx.event.EventHandler)
方法添加一个270702984729222EventType
与您所需的EventHandler
作为第二个参数。 使用此方法,您将不会替换默认实现,但在发生编辑提交时会收到通知。希望这个总结回答了一些常见问题。 幸运的是,JavaFX附带了许多预先构建的单元格工厂,可以代表您处理所有的编辑要求。 您可以在javafx.scene.control.cell包中找到这些预构建的单元工厂。
- 从以下版本开始:
- JavaFX 8.0
- 另请参见:
-
TreeTableColumn
,TreeTablePosition
-
-
Property Summary
-
Properties inherited from class javafx.scene.control.Control
contextMenu, skin, tooltip
-
Properties inherited from class javafx.scene.Node
accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, viewOrder, visible
-
Properties inherited from class javafx.scene.Parent
needsLayout
-
Properties inherited from class javafx.scene.layout.Region
background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 static class
TreeTableView.EditEvent<S>
一个Event
在TreeTableView中专门用于表示编辑相关事件的子类。static class
TreeTableView.ResizeFeatures<S>
一个用于TableViewcolumn resize
功能的不可变包装类。static class
TreeTableView.TreeTableViewFocusModel<S>
AFocusModel
具有附加功能以支持TableView控件的要求。static class
TreeTableView.TreeTableViewSelectionModel<S>
SelectionModel
抽象类的简单扩展,允许对TreeTableView控件的特殊支持。
-
Field Summary
Fields Modifier and Type Field 描述 static Callback<TreeTableView.ResizeFeatures,Boolean>
CONSTRAINED_RESIZE_POLICY
确保此表中所有可见叶列的宽度的简单策略总和等于表本身的宽度。static Callback<TreeTableView,Boolean>
DEFAULT_SORT_POLICY
如果没有指定其他策略,则该TreeTableView将使用默认值sort policy
。static Callback<TreeTableView.ResizeFeatures,Boolean>
UNCONSTRAINED_RESIZE_POLICY
非常简单的调整策略,只需通过提供的增量来调整指定列的大小,并将所有其他列(给定列的右侧)向右移动(当增量为正)或向左(当增量为负数时) 。-
Fields inherited from class javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
-
Fields inherited from class javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZE
-
-
构造方法摘要
构造方法 Constructor 描述 TreeTableView()
创建一个空TreeTableView。TreeTableView(TreeItem<S> root)
使用提供的根节点创建TreeTableView。
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 ObjectProperty<Callback<TreeTableView.ResizeFeatures,Boolean>>
columnResizePolicyProperty()
这是当用户完成列大小调整操作时调用的函数。ReadOnlyObjectProperty<Comparator<TreeItem<S>>>
comparatorProperty()
比较器属性是一个只读属性,代表sort order
列表的当前状态。protected Skin<?>
createDefaultSkin()
为此控件创建一个新的默认皮肤实例。void
edit(int row, TreeTableColumn<S,?> column)
导致给定行/列视图索引处的单元格切换到其编辑状态(如果尚未存在),并且假设TableView和列也是可编辑的。BooleanProperty
editableProperty()
指定此TreeTableView是否可编辑 - 只有当TreeTableView和TreeCells都可编辑时,TreeCell才能进入编辑状态。static <S> EventType<TreeTableView.EditEvent<S>>
editAnyEvent()
指示发生一些编辑事件的EventType。static <S> EventType<TreeTableView.EditEvent<S>>
editCancelEvent()
EventType用于指示事件被触发的TreeTableView中刚刚取消了编辑事件。static <S> EventType<TreeTableView.EditEvent<S>>
editCommitEvent()
用于指示TreeTableView中的编辑已提交的EventType。ReadOnlyObjectProperty<TreeTablePosition<S,?>>
editingCellProperty()
表示正在编辑的当前单元格,如果没有编辑单元格,则为空。static <S> EventType<TreeTableView.EditEvent<S>>
editStartEvent()
EventType用于指示在触发事件的TreeTableView中启动了编辑事件。ReadOnlyIntegerProperty
expandedItemCountProperty()
表示当前能够在TreeTableView中可见的树节点数。DoubleProperty
fixedCellSizeProperty()
指定此控件是否具有固定高度(指定值)的单元格。ObjectProperty<TreeTableView.TreeTableViewFocusModel<S>>
focusModelProperty()
FocusModel提供API,通过它可以将焦点控制在零或一行TreeTableView上。static List<CssMetaData<? extends Styleable,?>>
getClassCssMetaData()
Callback<TreeTableView.ResizeFeatures,Boolean>
getColumnResizePolicy()
获取属性columnResizePolicy的值。ObservableList<TreeTableColumn<S,?>>
getColumns()
作为TableView的一部分的TreeTableColumns。Comparator<TreeItem<S>>
getComparator()
获取属性比较器的值。List<CssMetaData<? extends Styleable,?>>
getControlCssMetaData()
TreeTablePosition<S,?>
getEditingCell()
获取属性editingCell的值。int
getExpandedItemCount()
获取属性expandedItemCount的值。double
getFixedCellSize()
返回固定的单元格大小值。TreeTableView.TreeTableViewFocusModel<S>
getFocusModel()
返回当前安装的FocusModel
。static int
getNodeLevel(TreeItem<?> node)
已过时。此方法无法正确计算从给定TreeItem到TreeTableView根的距离。 从JavaFX 8.0_20开始,正确的方法是通过getTreeItemLevel(TreeItem)
EventHandler<ScrollToEvent<Integer>>
getOnScrollTo()
获取属性onScrollTo的值。EventHandler<ScrollToEvent<TreeTableColumn<S,?>>>
getOnScrollToColumn()
获取属性onScrollToColumn的值。EventHandler<SortEvent<TreeTableView<S>>>
getOnSort()
获取属性onSort的值。Node
getPlaceholder()
获取属性占位符的值。TreeItem<S>
getRoot()
返回此TreeTableView的当前根节点,如果未指定根节点,则返回null。int
getRow(TreeItem<S> item)
返回给定TreeItem的索引位置,假设它目前可通过树层次结构访问(最显着的是所有父树项目都被扩展)。Callback<TreeTableView<S>,TreeTableRow<S>>
getRowFactory()
获取属性rowFactory的值。TreeTableView.TreeTableViewSelectionModel<S>
getSelectionModel()
返回当前安装的选择模型。TreeSortMode
getSortMode()
获取属性sortMode的值。ObservableList<TreeTableColumn<S,?>>
getSortOrder()
sortOrder列表定义了TreeTableColumn
实例进行排序的顺序。Callback<TreeTableView<S>,Boolean>
getSortPolicy()
获取属性sortPolicy的值。TreeTableColumn<S,?>
getTreeColumn()
获取属性treeColumn的值。TreeItem<S>
getTreeItem(int row)
返回给定索引中的TreeItem,如果超出范围则返回null。int
getTreeItemLevel(TreeItem<?> node)
根据getParent()可以递归调用的次数,返回给定TreeItem的“缩进”级别数。TreeTableColumn<S,?>
getVisibleLeafColumn(int column)
相对于所有其他可见的叶子列,返回给定列索引中的TreeTableColumn。ObservableList<TreeTableColumn<S,?>>
getVisibleLeafColumns()
返回一个不可修改的列表,其中包含当前可见的叶子列。int
getVisibleLeafIndex(TreeTableColumn<S,?> column)
相对于所有其他可见的叶子列,返回给定列的位置。boolean
isEditable()
获取可编辑属性的值。boolean
isShowRoot()
如果应该显示TreeTableView的根,则返回true,否则返回false。boolean
isTableMenuButtonVisible()
获取属性tableMenuButtonVisible的值。protected void
layoutChildren()
在布局传递过程中调用这个Parent
的孩子进行布局。ObjectProperty<EventHandler<ScrollToEvent<TreeTableColumn<S,?>>>>
onScrollToColumnProperty()
ObjectProperty<EventHandler<ScrollToEvent<Integer>>>
onScrollToProperty()
当有请求使用scrollTo(int)
将索引滚动到视图时 调用ObjectProperty<EventHandler<SortEvent<TreeTableView<S>>>>
onSortProperty()
当有请求排序控件时调用。ObjectProperty<Node>
placeholderProperty()
当表没有显示的内容时,向用户显示该节点。Object
queryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)
该方法由辅助技术调用以请求属性的值。void
refresh()
调用refresh()
强制TreeTableView控件重新创建并重新填充填充控件的可视边界所需的单元格。boolean
resizeColumn(TreeTableColumn<S,?> column, double delta)
根据给定的列应用当前安装的大小调整策略,根据提供的增量值调整其大小。ObjectProperty<TreeItem<S>>
rootProperty()
表示TreeTableView根节点的属性。ObjectProperty<Callback<TreeTableView<S>,TreeTableRow<S>>>
rowFactoryProperty()
一个生成TreeTableRow的函数。void
scrollTo(int index)
滚动TreeTableView,使给定索引中的项目对最终用户可见。void
scrollToColumn(TreeTableColumn<S,?> column)
滚动TreeTableView,使给定的列在视口内可见。void
scrollToColumnIndex(int columnIndex)
滚动TreeTableView,使给定的索引在视口内可见。ObjectProperty<TreeTableView.TreeTableViewSelectionModel<S>>
selectionModelProperty()
SelectionModel提供了可以在TreeTableView中选择单个或多个项目的API,以及检查用户选择了哪些行。void
setColumnResizePolicy(Callback<TreeTableView.ResizeFeatures,Boolean> callback)
设置属性columnResizePolicy的值。void
setEditable(boolean value)
设置属性可编辑的值。void
setFixedCellSize(double value)
设置此控件的新固定单元格大小。void
setFocusModel(TreeTableView.TreeTableViewFocusModel<S> value)
设置要在TreeTableView中使用的FocusModel
。void
setOnScrollTo(EventHandler<ScrollToEvent<Integer>> value)
设置属性onScrollTo的值。void
setOnScrollToColumn(EventHandler<ScrollToEvent<TreeTableColumn<S,?>>> value)
设置属性onScrollToColumn的值。void
setOnSort(EventHandler<SortEvent<TreeTableView<S>>> value)
设置属性onSort的值。void
setPlaceholder(Node value)
设置属性占位符的值。void
setRoot(TreeItem<S> value)
设置此TreeTableView中的根节点。void
setRowFactory(Callback<TreeTableView<S>,TreeTableRow<S>> value)
设置属性rowFactory的值。void
setSelectionModel(TreeTableView.TreeTableViewSelectionModel<S> value)
设置要在TreeTableView中使用的MultipleSelectionModel
。void
setShowRoot(boolean value)
指定是否应在此TreeTableView中显示根目录TreeItem
。void
setSortMode(TreeSortMode value)
设置属性sortMode的值。void
setSortPolicy(Callback<TreeTableView<S>,Boolean> callback)
设置属性sortPolicy的值。void
setTableMenuButtonVisible(boolean value)
设置属性tableMenuButtonVisible的值。void
setTreeColumn(TreeTableColumn<S,?> value)
设置属性treeColumn的值。BooleanProperty
showRootProperty()
表示TreeTableView根节点是否可见的属性。void
sort()
排序方法强制TreeTableView重新运行其排序算法。ObjectProperty<TreeSortMode>
sortModeProperty()
指定在排序此TreeTableView的内容时使用的排序模式,应在sort order
列表中指定任何列。ObjectProperty<Callback<TreeTableView<S>,Boolean>>
sortPolicyProperty()
排序策略指定如何执行此TreeTableView中的排序。BooleanProperty
tableMenuButtonVisibleProperty()
当用户单击TableView中的指定空间时,这可以控制菜单按钮是否可用,其中是该表中每个TreeTableColumn的无线菜单项。ObjectProperty<TreeTableColumn<S,?>>
treeColumnProperty()
表示哪个列应该在其中显示披露节点的属性(即带有箭头的列)。-
Methods inherited from class javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getContextMenu, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty
-
Methods inherited from class javafx.scene.Node
accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from class javafx.scene.Parent
getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
-
Methods inherited from class javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty
-
Methods inherited from interface javafx.css.Styleable
getStyleableNode
-
-
-
-
Property Detail
-
root
public final ObjectProperty<TreeItem<S>> rootProperty
表示TreeTableView根节点的属性。- 结果
- 根属性
-
showRoot
public final BooleanProperty showRootProperty
表示TreeTableView根节点是否可见的属性。- 另请参见:
-
isShowRoot()
,setShowRoot(boolean)
-
treeColumn
public final ObjectProperty<TreeTableColumn<S,?>> treeColumnProperty
表示哪个列应该在其中显示披露节点的属性(即带有箭头的列)。 默认情况下,如果此属性为空,则为最左列,否则将为指定的列,假定它为非空,并包含在visible leaf columns
列表中。
-
selectionModel
public final ObjectProperty<TreeTableView.TreeTableViewSelectionModel<S>> selectionModelProperty
SelectionModel提供了可以在TreeTableView中选择单个或多个项目的API,以及检查用户选择了哪些行。 请注意,它具有必须与TreeTableView本身类型匹配的通用类型。
-
focusModel
public final ObjectProperty<TreeTableView.TreeTableViewFocusModel<S>> focusModelProperty
FocusModel提供API,通过它可以将焦点控制在零或一行TreeTableView上。 通常默认的实现应该是足够的。
-
expandedItemCount
public final ReadOnlyIntegerProperty expandedItemCountProperty
表示当前能够在TreeTableView中可见的树节点数。 这实质上是所有扩展的树项目及其子项的计数。
例如,如果只有根节点可见,则expandItemCount将为1。 如果根有三个孩子并且根被扩大,那么这个值将是四个。
- 另请参见:
-
getExpandedItemCount()
-
editable
public final BooleanProperty editableProperty
指定此TreeTableView是否可编辑 - 只有当TreeTableView和TreeCells都可编辑时,TreeCell才能进入编辑状态。- 另请参见:
-
isEditable()
,setEditable(boolean)
-
editingCell
public final ReadOnlyObjectProperty<TreeTablePosition<S,?>> editingCellProperty
表示正在编辑的当前单元格,如果没有编辑单元格,则为空。- 另请参见:
-
getEditingCell()
-
tableMenuButtonVisible
public final BooleanProperty tableMenuButtonVisibleProperty
当用户单击TableView中的指定空间时,这可以控制菜单按钮是否可用,其中是该表中每个TreeTableColumn的无线菜单项。 此菜单允许用户轻松显示和隐藏所有TreeTableColumns。
-
columnResizePolicy
public final ObjectProperty<Callback<TreeTableView.ResizeFeatures,Boolean>> columnResizePolicyProperty
这是当用户完成列大小调整操作时调用的函数。 两个最常见的策略作为TableView类中的静态函数提供:UNCONSTRAINED_RESIZE_POLICY
和CONSTRAINED_RESIZE_POLICY
。
-
rowFactory
public final ObjectProperty<Callback<TreeTableView<S>,TreeTableRow<S>>> rowFactoryProperty
一个生成TreeTableRow的函数。 该系统负责重用TreeTableRows。 从此函数返回一个TreeTableRow,它可能可用于在TableView中表示单个行。请注意,TreeTableRow 不是 TableCell。 TreeTableRow只是一个TableCell的容器,在大多数情况下,您更有可能创建自定义TableCells而不是TreeTableRows。 创建自定义TreeTableRow实例的主要用例很可能是引入某种形式的列跨越支持。
您可以通过将适当的函数分配给TreeTableColumn类中的cellFactory属性来创建每个列的自定义TableCell实例。
-
placeholder
public final ObjectProperty<Node> placeholderProperty
当表没有显示的内容时,向用户显示该节点。 新新新新旗新新新旗新新旗新新新旗新新旗新新旗新新旗新新旗新新旗新新旗新新旗旗新新旗新新旗新新旗新新旗新新旗新200新新旗新新旗新新旗新新旗新新旗新200新新旗新新200新新旗新新200新新旗新新200新200新新旗新新200新新旗2001-新新新新旗新新200新新200新200新新200新新200新200新新200新新200新新200新新200新新200新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新- 另请参见:
-
getPlaceholder()
,setPlaceholder(Node)
-
fixedCellSize
public final DoubleProperty fixedCellSizeProperty
指定此控件是否具有固定高度(指定值)的单元格。 如果该值小于或等于零,则所有单元格都被单独设置和定位。 这是一个缓慢的操作。 因此,当性能重要且开发人员不依赖于可变单元大小时,设置固定单元大小值是一个好主意。 一般情况下,单元格大约为24像素,因此设置固定的单元格大小为24可能导致视觉差异很小,但性能有所改善。要通过CSS设置此属性,请使用-fx-fixed-cell-size属性。 这不应该与-fx-cell-size属性混淆。 这两个CSS属性之间的区别是-fx-cell-size将所有单元格的大小设置为指定的大小,但不会强制这是唯一的大小(从而允许变量单元大小,并且阻止性能提升可能)。 因此,当性能很重要的时候使用-fx-fixed-cell-size,而不是-fx-cell-size。 如果在CSS中指定了两个属性,则-fx-fixed-cell-size优先。
- 从以下版本开始:
- JavaFX 8.0
- 另请参见:
-
getFixedCellSize()
,setFixedCellSize(double)
-
sortMode
public final ObjectProperty<TreeSortMode> sortModeProperty
指定在排序此TreeTableView的内容时使用的排序模式,如果在sort order
列表中指定任何列。
-
comparator
public final ReadOnlyObjectProperty<Comparator<TreeItem<S>>> comparatorProperty
比较器属性是一个只读属性,代表sort order
列表的当前状态。 排序顺序列表包含以编程方式添加的列或通过用户单击标题本身的列。- 另请参见:
-
getComparator()
-
sortPolicy
public final ObjectProperty<Callback<TreeTableView<S>,Boolean>> sortPolicyProperty
排序策略指定如何执行此TreeTableView中的排序。 例如,基本排序策略可能只是递归地分类根树项目的子节点,而更高级的排序策略可以调用数据库来在服务器端执行必要的排序。TreeTableView附带了一个
default sort policy
,正如上面提到的那样:它只是尝试在原位分类树层次结构。建议不要覆盖
sort
方法,而不是提供不同的排序策略。
-
onSort
public ObjectProperty<EventHandler<SortEvent<TreeTableView<S>>>> onSortProperty
当有请求排序控件时调用。- 另请参见:
-
getOnSort()
,setOnSort(EventHandler)
-
onScrollTo
public ObjectProperty<EventHandler<ScrollToEvent<Integer>>> onScrollToProperty
当有请求使用scrollTo(int)
将索引滚动到视图时 调用
-
onScrollToColumn
public ObjectProperty<EventHandler<ScrollToEvent<TreeTableColumn<S,?>>>> onScrollToColumnProperty
-
-
字段详细信息
-
UNCONSTRAINED_RESIZE_POLICY
public static final Callback<TreeTableView.ResizeFeatures,Boolean> UNCONSTRAINED_RESIZE_POLICY
非常简单的调整策略,只需通过提供的增量来调整指定列的大小,并将所有其他列(给定列的右侧)向右移动(当增量为正)或向左(当增量为负数时) 。
它还处理我们通过共享新空间嵌套列或者在所有直接子列之间均匀地减去已移除的空间的情况。 当然,直接的孩子本身可能是嵌套的,然后他们会对孩子们使用这个政策。
-
CONSTRAINED_RESIZE_POLICY
public static final Callback<TreeTableView.ResizeFeatures,Boolean> CONSTRAINED_RESIZE_POLICY
确保此表中所有可见叶列的宽度的简单策略总和等于表本身的宽度。
当用户使用此策略调整列宽时,表会自动调整右侧列的宽度。 当用户增加列宽时,表会减小最右列的宽度,直到达到最小宽度。 然后它减小第二个最右边的列的宽度,直到达到最小宽度等等。 当所有右侧列达到最小尺寸时,用户不能再增加已调整大小的列的大小。
-
DEFAULT_SORT_POLICY
public static final Callback<TreeTableView,Boolean> DEFAULT_SORT_POLICY
如果没有指定其他策略,则该TreeTableView将使用默认值sort policy
。 排序策略是一个简单的Callback
,它接受一个TreeTableView作为唯一的参数,并期望一个布尔响应来表示排序是否成功。 一个布尔响应为true表示成功,并且一个false(或null)的响应将被视为代表失败。
-
-
构造方法详细信息
-
TreeTableView
public TreeTableView()
创建一个空TreeTableView。有关其他属性的默认状态的详细信息,请参阅
TreeTableView
类文档。
-
TreeTableView
public TreeTableView(TreeItem<S> root)
使用提供的根节点创建TreeTableView。有关其他属性的默认状态的详细信息,请参阅
TreeTableView
类文档。- 参数
-
root
- 该节点作为此TreeTableView中的根。
-
-
方法详细信息
-
editAnyEvent
public static <S> EventType<TreeTableView.EditEvent<S>> editAnyEvent()
指示发生一些编辑事件的EventType。 这是所有其他编辑的事件父类型:editStartEvent()
,editCommitEvent()
和editCancelEvent()
。- 参数类型
-
S
- 此TreeTableView中使用的TreeItem实例的类型 - 结果
- 指示发生一些编辑事件的EventType
-
editStartEvent
public static <S> EventType<TreeTableView.EditEvent<S>> editStartEvent()
EventType用于指示在触发事件的TreeTableView中启动了编辑事件。- 参数类型
-
S
- 此TreeTableView中使用的TreeItem实例的类型 - 结果
- 用于指示编辑事件已启动的EventType
-
editCancelEvent
public static <S> EventType<TreeTableView.EditEvent<S>> editCancelEvent()
EventType用于指示事件被触发的TreeTableView中刚刚取消了编辑事件。- 参数类型
-
S
- 此TreeTableView中使用的TreeItem实例的类型 - 结果
- 用于指示编辑事件刚刚被取消的EventType
-
editCommitEvent
public static <S> EventType<TreeTableView.EditEvent<S>> editCommitEvent()
用于指示TreeTableView中的编辑已提交的EventType。 这意味着用户对TreeItem的数据进行了更改,UI应该被更新。- 参数类型
-
S
- 此TreeTableView中使用的TreeItem实例的类型 - 结果
- 用于指示TreeTableView中的编辑已提交的EventType
-
getNodeLevel
@Deprecated(since="8u20") public static int getNodeLevel(TreeItem<?> node)
返回给定TreeItem的“缩进”级别数,基于可以递归调用的次数TreeItem.getParent()
。 如果TreeItem没有任何父集,则返回的值将为零。 对于每次递归调用getParent(),返回的值都将增加1。重要注意事项:此方法已被弃用,因为它不考虑根节点。 这意味着如果根节点具有父节点,则此方法将遍历TreeTableView控件的根节点。 如果这很重要,请拨打
getTreeItemLevel(TreeItem)
。- 参数
-
node
- 需要级别的TreeItem。 - 结果
- 表示给定节点上父节点数的整数,如果给定的TreeItem为空,则为-1。
-
setRoot
public final void setRoot(TreeItem<S> value)
设置此TreeTableView中的根节点。 有关详细信息,请参阅TreeItem
类级别的文档。- 参数
-
value
- 将放置在TreeTableView根目录的TreeItem
。
-
getRoot
public final TreeItem<S> getRoot()
返回此TreeTableView的当前根节点,如果未指定根节点,则返回null。- 结果
- 当前根节点,如果没有根节点存在则为null。
-
rootProperty
public final ObjectProperty<TreeItem<S>> rootProperty()
表示TreeTableView根节点的属性。- 结果
- 根属性
-
setShowRoot
public final void setShowRoot(boolean value)
指定是否应在此TreeTableView中显示根TreeItem
根。- 参数
-
value
- 如果为true,将显示根value
,如果为false,它将被隐藏。
-
isShowRoot
public final boolean isShowRoot()
如果应该显示TreeTableView的根,则返回true,否则返回false。 默认情况下,Root TreeItem在TreeTableView中可见。- 结果
- 如果应该显示TreeTableView的根,则为true
-
showRootProperty
public final BooleanProperty showRootProperty()
表示TreeTableView根节点是否可见的属性。- 另请参见:
-
isShowRoot()
,setShowRoot(boolean)
-
treeColumnProperty
public final ObjectProperty<TreeTableColumn<S,?>> treeColumnProperty()
表示哪个列应该在其中显示披露节点的属性(即带有箭头的列)。 默认情况下,如果此属性为null,则为最左列,否则将为指定的列,假定它为非空,并包含在visible leaf columns
列表中。
-
setTreeColumn
public final void setTreeColumn(TreeTableColumn<S,?> value)
设置属性treeColumn的值。- Property description:
-
表示哪个列应该在其中显示披露节点的属性(即带有箭头的列)。
默认情况下,如果此属性为空,则为最左列,否则将为指定的列,假定它为非空,并包含在
visible leaf columns
列表中。
-
getTreeColumn
public final TreeTableColumn<S,?> getTreeColumn()
获取属性treeColumn的值。- Property description:
-
表示哪个列应该在其中显示披露节点的属性(即带有箭头的列)。
默认情况下,如果此属性为空,则为最左列,否则将为指定的列,假定它为非空,并包含在
visible leaf columns
列表中。
-
setSelectionModel
public final void setSelectionModel(TreeTableView.TreeTableViewSelectionModel<S> value)
设置要在TreeTableView中使用的MultipleSelectionModel
。 尽管有TreeTableView需要一个MultipleSelectionModel
,可以将其配置为仅允许单次选择(更多信息,请参阅MultipleSelectionModel.setSelectionMode(javafx.scene.control.SelectionMode)
)。- 参数
-
value
- 要使用的MultipleSelectionModel
-
getSelectionModel
public final TreeTableView.TreeTableViewSelectionModel<S> getSelectionModel()
返回当前安装的选择模型。- 结果
- 当前安装的选择模型
-
selectionModelProperty
public final ObjectProperty<TreeTableView.TreeTableViewSelectionModel<S>> selectionModelProperty()
SelectionModel提供了可以在TreeTableView中选择单个或多个项目的API,以及检查用户选择了哪些行。 请注意,它具有必须与TreeTableView本身类型匹配的通用类型。
-
setFocusModel
public final void setFocusModel(TreeTableView.TreeTableViewFocusModel<S> value)
设置要在TreeTableView中使用的FocusModel
。- 参数
-
value
- 要使用的FocusModel
-
getFocusModel
public final TreeTableView.TreeTableViewFocusModel<S> getFocusModel()
返回当前安装的FocusModel
。- 结果
-
目前安装的是
FocusModel
-
focusModelProperty
public final ObjectProperty<TreeTableView.TreeTableViewFocusModel<S>> focusModelProperty()
FocusModel提供API,通过它可以将焦点控制在零或一行TreeTableView上。 通常默认的实现应该是足够的。
-
expandedItemCountProperty
public final ReadOnlyIntegerProperty expandedItemCountProperty()
表示当前能够在TreeTableView中可见的树节点数。 这实质上是所有扩展的树项目及其子项的计数。
例如,如果只有根节点可见,则expandItemCount将为1。 如果根有三个孩子并且根被扩大,那么这个值将是四个。
- 另请参见:
-
getExpandedItemCount()
-
getExpandedItemCount
public final int getExpandedItemCount()
获取属性expandedItemCount的值。- Property description:
-
表示当前能够在TreeTableView中可见的树节点数。 这实质上是所有扩展的树项目及其子项的计数。
例如,如果只有根节点可见,则expandItemCount将为1。 如果根有三个孩子并且根被扩大,那么这个值将是四个。
-
setEditable
public final void setEditable(boolean value)
设置属性可编辑的值。- Property description:
- 指定此TreeTableView是否可编辑 - 只有当TreeTableView和TreeCells都可编辑时,TreeCell才能进入编辑状态。
-
isEditable
public final boolean isEditable()
获取可编辑属性的值。- Property description:
- 指定此TreeTableView是否可编辑 - 只有当TreeTableView和TreeCells都可编辑时,TreeCell才能进入编辑状态。
-
editableProperty
public final BooleanProperty editableProperty()
指定此TreeTableView是否可编辑 - 只有当TreeTableView和TreeCells都可编辑时,TreeCell才能进入编辑状态。- 另请参见:
-
isEditable()
,setEditable(boolean)
-
getEditingCell
public final TreeTablePosition<S,?> getEditingCell()
获取属性editingCell的值。- Property description:
- 表示正在编辑的当前单元格,如果没有编辑单元格,则为空。
-
editingCellProperty
public final ReadOnlyObjectProperty<TreeTablePosition<S,?>> editingCellProperty()
表示正在编辑的当前单元格,如果没有编辑单元格,则为空。- 另请参见:
-
getEditingCell()
-
tableMenuButtonVisibleProperty
public final BooleanProperty tableMenuButtonVisibleProperty()
当用户单击TableView中的指定空间时,这可以控制菜单按钮是否可用,其中是该表中每个TreeTableColumn的无线菜单项。 此菜单允许用户轻松显示和隐藏所有TreeTableColumns。
-
setTableMenuButtonVisible
public final void setTableMenuButtonVisible(boolean value)
设置属性tableMenuButtonVisible的值。- Property description:
- 当用户单击TableView中的指定空间时,这可以控制菜单按钮是否可用,其中是该表中每个TreeTableColumn的无线菜单项。 此菜单允许用户轻松显示和隐藏所有TreeTableColumns。
-
isTableMenuButtonVisible
public final boolean isTableMenuButtonVisible()
获取属性tableMenuButtonVisible的值。- Property description:
- 当用户单击TableView中的指定空间时,这可以控制菜单按钮是否可用,其中是该表中每个TreeTableColumn的无线菜单项。 此菜单允许用户轻松显示和隐藏所有TreeTableColumns。
-
setColumnResizePolicy
public final void setColumnResizePolicy(Callback<TreeTableView.ResizeFeatures,Boolean> callback)
设置属性columnResizePolicy的值。- Property description:
-
这是当用户完成列大小调整操作时调用的函数。
两个最常见的策略作为TableView类中的静态函数可用:
UNCONSTRAINED_RESIZE_POLICY
和CONSTRAINED_RESIZE_POLICY
。
-
getColumnResizePolicy
public final Callback<TreeTableView.ResizeFeatures,Boolean> getColumnResizePolicy()
获取属性columnResizePolicy的值。- Property description:
-
这是当用户完成列大小调整操作时调用的函数。
两个最常见的策略作为TableView类中的静态函数可用:
UNCONSTRAINED_RESIZE_POLICY
和CONSTRAINED_RESIZE_POLICY
。
-
columnResizePolicyProperty
public final ObjectProperty<Callback<TreeTableView.ResizeFeatures,Boolean>> columnResizePolicyProperty()
这是当用户完成列大小调整操作时调用的函数。 两个最常见的策略作为TableView类中的静态函数可用:UNCONSTRAINED_RESIZE_POLICY
和CONSTRAINED_RESIZE_POLICY
。
-
rowFactoryProperty
public final ObjectProperty<Callback<TreeTableView<S>,TreeTableRow<S>>> rowFactoryProperty()
一个生成TreeTableRow的函数。 该系统负责重用TreeTableRows。 从此函数返回一个TreeTableRow,它可能可用于在TableView中表示单个行。请注意,TreeTableRow 不是 TableCell。 TreeTableRow只是一个TableCell的容器,在大多数情况下,您更有可能创建自定义TableCells而不是TreeTableRows。 创建自定义TreeTableRow实例的主要用例很可能是引入某种形式的列跨越支持。
您可以通过将适当的函数分配给TreeTableColumn类中的cellFactory属性来创建每个列的自定义TableCell实例。
-
setRowFactory
public final void setRowFactory(Callback<TreeTableView<S>,TreeTableRow<S>> value)
设置属性rowFactory的值。- Property description:
-
一个生成TreeTableRow的函数。
该系统负责重用TreeTableRows。
从此函数返回一个TreeTableRow,它可能可用于在TableView中表示单个行。
请注意,TreeTableRow 不是 TableCell。 TreeTableRow只是一个TableCell的容器,在大多数情况下,您更有可能创建自定义TableCells而不是TreeTableRows。 创建自定义TreeTableRow实例的主要用例很可能是引入某种形式的列跨越支持。
您可以通过将适当的函数分配给TreeTableColumn类中的cellFactory属性来创建每个列的自定义TableCell实例。
-
getRowFactory
public final Callback<TreeTableView<S>,TreeTableRow<S>> getRowFactory()
获取属性rowFactory的值。- Property description:
-
一个生成TreeTableRow的函数。
该系统负责重用TreeTableRows。
从此函数返回一个TreeTableRow,它可能可用于在TableView中表示单个行。
请注意,TreeTableRow 不是 TableCell。 TreeTableRow只是一个TableCell的容器,在大多数情况下,您更有可能创建自定义TableCells而不是TreeTableRows。 创建自定义TreeTableRow实例的主要用例很可能是引入某种形式的列跨越支持。
您可以通过将适当的函数分配给TreeTableColumn类中的cellFactory属性来创建每个列的自定义TableCell实例。
-
placeholderProperty
public final ObjectProperty<Node> placeholderProperty()
当表没有显示的内容时,向用户显示该节点。 新新新新旗新新新旗新新旗新新新旗新新旗新新旗新新旗新新旗新新旗新新旗新新旗旗新新旗新新旗新新旗新新旗新新旗新200新新旗新新旗新新旗新新旗新新旗新200新新旗新新200新新旗新新200新新旗新新200新200新新旗新新200新新旗2001-新新新新旗新新200新新200新200新新200新新200新200新新200新新200新新200新新200新新200新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新- 另请参见:
-
getPlaceholder()
,setPlaceholder(Node)
-
setPlaceholder
public final void setPlaceholder(Node value)
设置属性占位符的值。- Property description:
- 当表没有显示的内容时,向用户显示该节点。 新新新新旗新新新旗新新旗新新新旗新新旗新新旗新新旗新新旗新新旗新新旗新新旗旗新新旗新新旗新新旗新新旗新新旗新200新新旗新新旗新新旗新新旗新新旗新200新新旗新新200新新旗新新200新新旗新新200新200新新旗新新200新新旗2001-新新新新旗新新200新新200新200新新200新新200新200新新200新新200新新200新新200新新200新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新
-
getPlaceholder
public final Node getPlaceholder()
获取属性占位符的值。- Property description:
- 当表没有显示的内容时,向用户显示该节点。 新新新新旗新新新旗新新旗新新新旗新新旗新新旗新新旗新新旗新新旗新新旗新新旗旗新新旗新新旗新新旗新新旗新新旗新200新新旗新新旗新新旗新新旗新新旗新200新新旗新新200新新旗新新200新新旗新新200新200新新旗新新200新新旗2001-新新新新旗新新200新新200新200新新200新新200新200新新200新新200新新200新新200新新200新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新
-
setFixedCellSize
public final void setFixedCellSize(double value)
设置此控件的新固定单元格大小。 任何大于零的值将启用固定的单元大小模式,而零值或负值(或Region.USE_COMPUTED_SIZE)将用于禁用固定单元大小模式。- 参数
-
value
- 新的固定单元格大小值,或小于或等于零(或Region.USE_COMPUTED_SIZE)的值禁用。 - 从以下版本开始:
- JavaFX 8.0
-
getFixedCellSize
public final double getFixedCellSize()
返回固定的单元格大小值。 使用小于或等于零的值来表示禁用固定单元大小模式,大于零的值表示此控件中所有单元格的大小。- 结果
- 表示该控件的固定单元大小的double,或者如果固定单元大小模式被禁用,小于或等于零的值。
- 从以下版本开始:
- JavaFX 8.0
-
fixedCellSizeProperty
public final DoubleProperty fixedCellSizeProperty()
指定此控件是否具有固定高度(指定值)的单元格。 如果该值小于或等于零,则所有单元格都被单独设置和定位。 这是一个缓慢的操作。 因此,当性能重要且开发人员不依赖于可变单元大小时,设置固定单元大小值是一个好主意。 一般情况下,单元格大约为24像素,因此设置固定的单元格大小为24可能导致视觉差异很小,但性能有所改善。要通过CSS设置此属性,请使用-fx-fixed-cell-size属性。 这不应该与-fx-cell-size属性混淆。 这两个CSS属性之间的区别是-fx-cell-size将所有单元格的大小设置为指定的大小,但不会强制这是唯一的大小(从而允许变量单元大小,并且阻止性能提升可能)。 因此,当性能很重要的时候使用-fx-fixed-cell-size,而不是-fx-cell-size。 如果在CSS中指定了两个属性,则-fx-fixed-cell-size优先。
- 从以下版本开始:
- JavaFX 8.0
- 另请参见:
-
getFixedCellSize()
,setFixedCellSize(double)
-
sortModeProperty
public final ObjectProperty<TreeSortMode> sortModeProperty()
指定在排序此TreeTableView的内容时使用的排序模式,如果在sort order
列表中指定任何列。
-
setSortMode
public final void setSortMode(TreeSortMode value)
设置属性sortMode的值。- Property description:
-
指定在排序此TreeTableView的内容时使用的排序模式,如果在
sort order
列表中指定了任何列。
-
getSortMode
public final TreeSortMode getSortMode()
获取属性sortMode的值。- Property description:
-
指定在排序此TreeTableView的内容时使用的排序模式,如果在
sort order
列表中指定了任何列。
-
getComparator
public final Comparator<TreeItem<S>> getComparator()
获取属性比较器的值。- Property description:
-
比较器属性是一个只读属性,代表
sort order
列表的当前状态。 排序顺序列表包含以编程方式添加的列或通过用户单击标题本身的列。
-
comparatorProperty
public final ReadOnlyObjectProperty<Comparator<TreeItem<S>>> comparatorProperty()
比较器属性是一个只读属性,代表sort order
列表的当前状态。 排序顺序列表包含以编程方式添加的列或通过用户单击标题本身的列。- 另请参见:
-
getComparator()
-
setSortPolicy
public final void setSortPolicy(Callback<TreeTableView<S>,Boolean> callback)
设置属性sortPolicy的值。- Property description:
-
排序策略指定如何执行此TreeTableView中的排序。
例如,基本排序策略可能只是递归地分类根树项目的子节点,而更高级的排序策略可以调用数据库来在服务器端执行必要的排序。
TreeTableView附带了一个
default sort policy
,正如上面提到的那样:它只是尝试在原位分类树层次结构。建议不要覆盖
sort
方法,而是提供不同的排序策略。
-
getSortPolicy
public final Callback<TreeTableView<S>,Boolean> getSortPolicy()
获取属性sortPolicy的值。- Property description:
-
排序策略指定如何执行此TreeTableView中的排序。
例如,基本排序策略可能只是递归地分类根树项目的子节点,而更高级的排序策略可以调用数据库来在服务器端执行必要的排序。
TreeTableView配有一个
default sort policy
,正如上面提到的那样:它只是尝试将树层次结构排列在原位。建议不要覆盖提供不同排序策略的
sort
方法。
-
sortPolicyProperty
public final ObjectProperty<Callback<TreeTableView<S>,Boolean>> sortPolicyProperty()
排序策略指定如何执行此TreeTableView中的排序。 例如,基本排序策略可能只是递归地分类根树项目的子节点,而更高级的排序策略可以调用数据库来在服务器端执行必要的排序。TreeTableView配有一个
default sort policy
,正如上面提到的那样:它只是尝试在原位分类树层次结构。建议不要覆盖
sort
方法,而不是提供不同的排序策略。
-
setOnSort
public void setOnSort(EventHandler<SortEvent<TreeTableView<S>>> value)
设置属性onSort的值。- Property description:
- 当有请求排序控件时调用。
-
getOnSort
public EventHandler<SortEvent<TreeTableView<S>>> getOnSort()
获取属性onSort的值。- Property description:
- 当有请求排序控件时调用。
-
onSortProperty
public ObjectProperty<EventHandler<SortEvent<TreeTableView<S>>>> onSortProperty()
当有请求排序控件时调用。- 另请参见:
-
getOnSort()
,setOnSort(EventHandler)
-
layoutChildren
protected void layoutChildren()
在布局传递过程中调用这个Parent
的孩子。 默认情况下,它只会将受管理的可调整大小的内容的大小设置为其首选大小,并且不会执行任何节点定位。子类应该根据需要重写此函数以布局内容。
- 重写:
-
layoutChildren
在Control
-
scrollTo
public void scrollTo(int index)
滚动TreeTableView,使给定索引中的项目对最终用户可见。- 参数
-
index
- 应该对用户可见的索引,假定它大于或等于0,小于TreeTableView中可见项的数量。
-
setOnScrollTo
public void setOnScrollTo(EventHandler<ScrollToEvent<Integer>> value)
设置属性onScrollTo的值。- Property description:
-
当有请求使用
scrollTo(int)
将索引滚动到视图时 调用
-
getOnScrollTo
public EventHandler<ScrollToEvent<Integer>> getOnScrollTo()
获取属性onScrollTo的值。- Property description:
-
当有请求使用
scrollTo(int)
将索引滚动到视图时 调用
-
onScrollToProperty
public ObjectProperty<EventHandler<ScrollToEvent<Integer>>> onScrollToProperty()
当有请求使用scrollTo(int)
将索引滚动到视图时 调用
-
scrollToColumn
public void scrollToColumn(TreeTableColumn<S,?> column)
滚动TreeTableView,使给定的列在视口内可见。- 参数
-
column
- 应该对用户可见的列。
-
scrollToColumnIndex
public void scrollToColumnIndex(int columnIndex)
滚动TreeTableView,使给定的索引在视口内可见。- 参数
-
columnIndex
- 应该对用户可见的列的索引。
-
setOnScrollToColumn
public void setOnScrollToColumn(EventHandler<ScrollToEvent<TreeTableColumn<S,?>>> value)
设置属性onScrollToColumn的值。- Property description:
-
当有要求使用
scrollToColumn(TreeTableColumn)
或scrollToColumnIndex(int)
将列滚动到视图时 调用
-
getOnScrollToColumn
public EventHandler<ScrollToEvent<TreeTableColumn<S,?>>> getOnScrollToColumn()
获取属性onScrollToColumn的值。- Property description:
-
当有要求使用
scrollToColumn(TreeTableColumn)
或scrollToColumnIndex(int)
将列滚动到视图时 调用
-
onScrollToColumnProperty
public ObjectProperty<EventHandler<ScrollToEvent<TreeTableColumn<S,?>>>> onScrollToColumnProperty()
-
getRow
public int getRow(TreeItem<S> item)
返回给定TreeItem的索引位置,假设它目前可通过树层次结构访问(最显着的是所有父树项目都被扩展)。 如果父树项目被折叠,则结果是该方法将返回-1以指示树中不可访问给定树项。- 参数
-
item
- 寻找索引的TreeItem。 - 结果
- 表示给定TreeItem的第一个实例的当前TreeTableView中的位置的整数,如果为null或无法找到,则为-1(例如,如果父(一直到根)已折叠)。
-
getTreeItem
public TreeItem<S> getTreeItem(int row)
返回给定索引中的TreeItem,如果超出范围则返回null。- 参数
-
row
- 正在寻找TreeItem的索引。 - 结果
- 给定索引中的TreeItem,如果超出范围,则为null。
-
getTreeItemLevel
public int getTreeItemLevel(TreeItem<?> node)
根据getParent()可以递归调用的次数,返回给定TreeItem的“缩进”级别数。 如果给定的TreeItem是此TreeTableView的根节点,或者如果TreeItem没有任何父集,则返回的值将为零。 对于每次递归调用getParent(),返回的值都将增加1。- 参数
-
node
- 需要级别的TreeItem。 - 结果
- 表示给定节点上父节点数的整数,如果给定的TreeItem为空,则为-1。
-
getColumns
public final ObservableList<TreeTableColumn<S,?>> getColumns()
作为TableView的一部分的TreeTableColumns。 当用户重新排列TableView列时,此列表将被更新以反映当前的视觉排序。注意:要在TableView中显示任何数据,该ObservableList中必须至少有一个TreeTableColumn。
- 结果
- 表格列
-
getSortOrder
public final ObservableList<TreeTableColumn<S,?>> getSortOrder()
sortOrder列表定义TreeTableColumn
实例进行排序的顺序。 一个空的排序列表表示在TableView上没有应用排序。 如果sortOrder列表中有一个TreeTableColumn,则TableView将使用此TreeTableColumn的sortType
和comparator
属性进行排序(假设为TreeTableColumn.sortable
)。 如果sortOrder列表包含多个TreeTableColumn实例,则首先根据第一个TreeTableColumn的属性对TableView进行排序。 如果两个元素被认为是相等的,则列表中的第二个TreeTableColumn用于确定排序。 如果需要,将重复此循环,直到所有TreeTableColumn比较器的结果被考虑为止。- 结果
- 一个包含零个或多个TreeTableColumn实例的ObservableList。
-
resizeColumn
public boolean resizeColumn(TreeTableColumn<S,?> column, double delta)
根据给定的列应用当前安装的大小调整策略,根据提供的增量值调整其大小。- 参数
-
column
- 列 -
delta
- 三角洲 - 结果
- 如果应用列调整大小,则为true
-
edit
public void edit(int row, TreeTableColumn<S,?> column)
导致给定行/列视图索引处的单元格切换到其编辑状态(如果尚未存在),并且假设TableView和列也是可编辑的。- 参数
-
row
- 行 -
column
- 列
-
getVisibleLeafColumns
public ObservableList<TreeTableColumn<S,?>> getVisibleLeafColumns()
返回一个不可修改的列表,其中包含当前可见的叶子列。- 结果
- 一个包含当前可见的叶子列的不可修改的列表
-
getVisibleLeafIndex
public int getVisibleLeafIndex(TreeTableColumn<S,?> column)
相对于所有其他可见的叶子列,返回给定列的位置。- 参数
-
column
- 列 - 结果
- 相对于所有其他可见叶列,给定列的位置
-
getVisibleLeafColumn
public TreeTableColumn<S,?> getVisibleLeafColumn(int column)
相对于所有其他可见的叶子列,返回给定列索引中的TreeTableColumn。- 参数
-
column
- 列 - 结果
- 相对于所有其他可见的叶子列,给定列索引中的TreeTableColumn
-
sort
public void sort()
排序方法强制TreeTableView重新运行其排序算法。 往往不是没有必要直接调用该方法,当它被自动调用sort order
,sort policy
,或TreeTableColumn的状态sort type
性质发生变化。 换句话说,这种方法只能在需要外部更改和排序时直接调用。
-
refresh
public void refresh()
调用refresh()
强制TreeTableView控件重新创建并重新填充填充控件的可视边界所需的单元格。 换句话说,这将强制TreeTableView更新它向用户显示的内容。 这在底层数据源以TreeTableView本身未观察到的方式发生更改的情况下很有用。- 从以下版本开始:
- JavaFX 8u60
-
getClassCssMetaData
public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
- 结果
- 与此类相关联的CssMetaData可能包括其类的CssMetaData。
-
getControlCssMetaData
public List<CssMetaData<? extends Styleable,?>> getControlCssMetaData()
- 重写:
-
getControlCssMetaData
在Control
- 结果
- 不可修改的控件列表css样式属性
- 从以下版本开始:
- JavaFX 8.0
-
createDefaultSkin
protected Skin<?> createDefaultSkin()
为此控件创建一个新的默认皮肤实例。 如果没有通过CSS-fx-skin
提供皮肤,或者在具有setSkin(...)
的子类中显式设置,则调用此控件创建皮肤。- 重写:
-
createDefaultSkin
在Control
- 结果
- 此控件的默认皮肤的新实例。 如果为null,则控件将没有皮肤,除非由css提供。
-
queryAccessibleAttribute
public Object queryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)
该方法由辅助技术调用以请求属性的值。子类通常覆盖此方法来实现特定角色所需的属性。
如果未处理特定属性,则必须调用超类实现。- 重写:
-
queryAccessibleAttribute
在Control
- 参数
-
attribute
- 请求的属性 -
parameters
- 可选参数列表 - 结果
- 请求的属性的值
- 另请参见:
-
AccessibleAttribute
-
-