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

Class ListCell<T>

  • 参数类型
    T - ListCell中包含的项目的类型。
    All Implemented Interfaces:
    StyleableEventTargetSkinnable
    已知直接子类:
    CheckBoxListCellChoiceBoxListCellComboBoxListCellTextFieldListCell


    public class ListCell<T>
    extends IndexedCell<T>

    Cell类型在ListView实例中使用。 除了在Cell和IndexedCell上定义的API 之外 ,ListCell更紧密地绑定到ListView,从而更好地支持编辑事件等。

    ListView维护选择,指示已选择哪些单元格,并对焦,指示任何给定ListView的当前焦点所有者。 对于每个属性,每个ListCell都有一个布尔值,反映该特定单元格是被选中还是聚焦。 为了实现这一点,每个ListCell都有一个引用到ListView,它被使用在它内部。 每个ListCell属于唯一的一个ListView。

    请注意,在虚拟化控件(如ListView)的情况下,当单元格具有焦点时,这与应用程序焦点的含义不一样。 当ListCell具有焦点时,它只是表示在拥有ListView实际包含焦点的情况下,单元格将接收键盘事件的事实。 当然,在一个小区在graphic属性中设置了一个节点的情况下,这个节点要求和获取焦点是完全合法的,如通常所预期的那样。

    从以下版本开始:
    JavaFX 2.0
    • 构造方法详细信息

      • ListCell

        public ListCell​()
        使用默认样式类“list-cell”创建默认的ListCell。
    • 方法详细信息

      • getListView

        public final ListView<T> getListView​()
        获取属性listView的值。
        Property description:
        与此单元格关联的ListView。
      • createDefaultSkin

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

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

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

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

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

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

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

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