Module  javafx.controls
软件包  javafx.scene.control

Class TreeCell<T>

  • 参数类型
    T - TreeItem属性中包含的值的类型。
    All Implemented Interfaces:
    StyleableEventTargetSkinnable
    已知直接子类:
    CheckBoxTreeCellChoiceBoxTreeCellComboBoxTreeCellTextFieldTreeCell


    public class TreeCell<T>
    extends IndexedCell<T>
    Cell类型与TreeView控件一起使用。 除了在IndexedCell定义的API 之外 ,TreeCell公开了CSS使用的其他状态和伪类。

    TreeCell监视与之关联的TreeView的选择模型,确保它可视地向用户指示是否被选择。 当选择TreeCell时, 它将通过selected属性以及通过“选定”CSS伪类状态显示。

    由于TreeCell从IndexedCell延伸,每个TreeCell还提供了一个index属性。 索引将在单元格展开和折叠时更新,因此应视为视图索引而不是模型索引。

    最后,每个TreeCell还有一个与它正在使用的TreeView的引用。 每个TreeCell属于唯一的一个TreeView。

    从以下版本开始:
    JavaFX 2.0
    另请参见:
    TreeViewTreeItem
    • 构造方法详细信息

      • TreeCell

        public TreeCell​()
        创建一个默认的TreeCell实例。
    • 方法详细信息

      • getTreeItem

        public final TreeItem<T> getTreeItem​()
        返回当前在此TreeCell中设置的TreeItem。
        结果
        TreeCell中当前设置的TreeItem
      • treeItemProperty

        public final ReadOnlyObjectProperty<TreeItem<T>> treeItemProperty​()
        每个TreeCell最多表示一个TreeItem ,由该属性表示。
        结果
        表示TreeCell的TreeItem属性
      • setDisclosureNode

        public final void setDisclosureNode​(Node value)
        用作“披露”三角形的节点,或用于展开和折叠项目的切换。 这仅在包含子项目的树中的项目的情况下使用。 如果未指定,TreeCell的Skin实现负责提供默认的公开节点。
        参数
        value - 披露节点
      • getDisclosureNode

        public final Node getDisclosureNode​()
        返回此TreeCell中设置的当前披露节点。
        结果
        当前披露节点设置在此TreeCell中
      • getTreeView

        public final TreeView<T> getTreeView​()
        返回与此TreeCell关联的TreeView。
        结果
        与TreeCell相关联的TreeView
      • startEdit

        public void startEdit​()
        调用此功能从非编辑状态转换到编辑状态,如果单元格是可编辑的。 如果这个单元格已经处于编辑状态,它将保留在它中。
        重写:
        startEditCell<T>
      • commitEdit

        public void commitEdit​(T newValue)
        在适当的时候调用此功能(基于您的单元格编辑用户界面的用户交互要求)来做两件事情:
        1. 将适当的事件触发回到支持UI控件(例如ListView )。 这将开始将此编辑推回相关数据源/属性(尽管不能保证这将成功 - 这取决于正在使用的特定编辑提交处理程序)。 有关更多详细信息,请参阅UI控件类javadoc。
        2. 开始从编辑状态转换到非编辑状态。

        一般来说,在自定义单元实现中无需重写此方法 - 在适当的时候简单地调用此方法就足够了(例如,当用户按Enter键时,可以执行像cell.commitEdit(converter.fromString(textField.getText()));

        重写:
        commitEditCell<T>
        参数
        newValue - 作为最终用户输入的值,应该以相关的方式 newValue给出支持用户界面的数据源和UI控件的安装编辑提交处理程序。
      • cancelEdit

        public void cancelEdit​()
        调用此功能从编辑状态转换为非编辑状态,而不保存任何用户输入。
        重写:
        cancelEditCell<T>
      • createDefaultSkin

        protected Skin<?> createDefaultSkin​()
        为此控件创建一个新的默认皮肤实例。 如果没有通过CSS -fx-skin提供皮肤或者在具有setSkin(...)的子类中显式设置,则调用此控件创建皮肤。
        重写:
        createDefaultSkinControl
        结果
        此控件的默认皮肤的新实例。 如果为null,则控件将没有皮肤,除非由css提供。
      • updateTreeView

        public final void updateTreeView​(TreeView<T> tree)
        更新与TreeCell相关联的TreeView。
        参数
        tree - 应该与此TreeCell相关联的新TreeView。 注意:此功能主要由专家使用,主要由实施新皮肤的人员使用。 开发人员或设计师直接访问此功能并不常见。
      • updateTreeItem

        public final void updateTreeItem​(TreeItem<T> treeItem)
        更新与TreeCell关联的TreeItem。
        参数
        treeItem - 应该与此TreeCell相关联的新TreeItem。 注意:此功能主要由专家使用,主要由实施新皮肤的人员使用。 开发人员或设计师直接访问此功能并不常见。
      • queryAccessibleAttribute

        public Object queryAccessibleAttribute​(AccessibleAttribute attribute,
                                               Object... parameters)
        该方法由辅助技术调用以请求属性的值。

        子类通常覆盖此方法来实现特定角色所需的属性。
        如果未处理特定属性,则必须调用超类实现。

        重写:
        queryAccessibleAttributeControl
        参数
        attribute - 请求的属性
        parameters - 可选参数列表
        结果
        请求的属性的值
        另请参见:
        AccessibleAttribute
      • executeAccessibleAction

        public void executeAccessibleAction​(AccessibleAction action,
                                            Object... parameters)
        该方法由辅助技术调用,请求执行由参数指示的动作。

        此方法通常被子类覆盖,以实现特定角色所需的操作。
        如果未处理特定操作,则必须调用超类实现。

        重写:
        executeAccessibleActionControl
        参数
        action - 要执行的操作
        parameters - 可选参数列表
        另请参见:
        AccessibleAction