Spec-Zone.ru › OpenJavaFX 11
Модуль javafx.controls
Пакет javafx.scene.control

Класс TreeTableColumn<S,​T>

  • java.lang.Object
    • javafx.scene.control.TableColumnBase<TreeItem<S>,​T>
      • javafx.scene.control.TreeTableColumn<S,​T>
  • Параметры типа:
    S - Тип обобщенного типа TableView (т.е. S == TableView<S>)
    T - Тип содержимого во всех ячейках в этом столбце.
    Все реализуемые интерфейсы:
    Styleable, EventTarget
    public class TreeTableColumn<S,​T>
    extends TableColumnBase<TreeItem<S>,​T>
    implements EventTarget
    В TreeTableView используется несколько экземпляров TreeTableColumn. Каждый TreeTableColumn в TreeTableView отвечает за отображение (и редактирование) содержимого этого столбца. Помимо ответственности за отображение и редактирование данных для одного столбца, TreeTableColumn также содержит необходимые свойства для:
    • Изменения размера (с помощью minWidth/ prefWidth/ maxWidth и width свойств)
    • Переключения видимости с помощью visibility
    • Отображение header text
    • Отображение любого nested columns, которое может содержать
    • Наличие context menu при щелчке правой кнопкой мыши на заголовке столбца
    • Сортировка содержимого таблицы (с использованием comparator, sortable и sortType)
    При создании экземпляра TreeTableColumn, пожалуй, две самые важные свойства для установки — текст столбца text (что отображать в области заголовка столбца) и cell value factory столбца (который используется для заполнения отдельных ячеек в столбце). Это можно сделать, используя некоторую вариацию следующего кода:
    
     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();
         }
      });
     }
    Данный подход предполагает, что возвращаемый объектом p.getValue().getValue() имеет JavaFX ObservableValue, который можно просто вернуть. Преимущество этого заключается в том, что TableView будет внутренне создавать привязки, чтобы гарантировать, что при изменении возвращенного ObservableValue, содержимое ячейки будет автоматически обновляться.

    В ситуациях, когда TableColumn должен взаимодействовать с классами, созданными до JavaFX, или которые обычно не хотят использовать API JavaFX для свойств, возможно обернуть возвращаемое значение в экземпляр ReadOnlyObjectWrapper. Например:

    
     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 new ReadOnlyObjectWrapper(p.getValue().getValue().getFirstName());
         }
      });
     }
    Надеемся, что со временем будут разработаны и предоставлены удобные фабрики для ячеек. По состоянию на выпуск JavaFX 2.0 существует один такой удобный класс: TreeItemPropertyValueFactory. Этот класс устраняет необходимость в написании вышеуказанного кода, вместо этого используя рефлексию для поиска заданного свойства по строке. Обратитесь к документации класса TreeItemPropertyValueFactory для получения дополнительной информации о том, как использовать это со столбцом. Наконец, более подробная документация о том, как использовать TableColumn, приведена в документации класса TableView.
    С момента:
    JavaFX 8.0
    См. также:
    TableView, TableCell, TablePosition, TreeItemPropertyValueFactory
  • Краткое описание свойств

    Свойства
    Тип Свойство Описание
    ObjectProperty<Callback<TreeTableColumn<S,​T>,​TreeTableCell<S,​T>>> cellFactory
    Фабрика ячеек для всех ячеек в этом столбце.
    ObjectProperty<Callback<TreeTableColumn.CellDataFeatures<S,​T>,​ObservableValue<T>>> cellValueFactory
    Фабрика значений ячеек должна быть установлена для указания способа заполнения всех ячеек в одном TreeTableColumn.
    ObjectProperty<EventHandler<TreeTableColumn.CellEditEvent<S,​T>>> onEditCancel
    Обработчик событий, который будет вызван при отмене редактирования ячейки пользователем.
    ObjectProperty<EventHandler<TreeTableColumn.CellEditEvent<S,​T>>> onEditCommit
    Обработчик событий, который будет вызван при успешном подтверждении редактирования пользователем.
    ObjectProperty<EventHandler<TreeTableColumn.CellEditEvent<S,​T>>> onEditStart
    Обработчик событий, который будет вызван при успешном начале редактирования пользователем.
    ObjectProperty<TreeTableColumn.SortType> sortType
    Указывает, должен ли этот столбец, если он является частью порядка сортировки (см. TreeTableView.getSortOrder() для получения более подробной информации), сортироваться по возрастанию или убыванию.
    ReadOnlyObjectProperty<TreeTableView<S>> treeTableView
    TreeTableView, которому принадлежит этот TreeTableColumn.
    • Свойства, унаследованные от класса javafx.scene.control.TableColumnBase

      comparator, contextMenu, editable, graphic, id, maxWidth, minWidth, parentColumn, prefWidth, reorderable, resizable, sortable, sortNode, style, text, visible, width
  • Краткое описание вложенных классов

    Вложенные классы
    Модификатор и тип Класс Описание
    static class  TreeTableColumn.CellDataFeatures<S,​T>
    Вспомогательный класс, используемый в TreeTableColumn в качестве обертки для предоставления всей необходимой информации для конкретной Cell.
    static class  TreeTableColumn.CellEditEvent<S,​T>
    Событие, которое срабатывает, когда пользователь выполняет редактирование в ячейке таблицы.
    static class  TreeTableColumn.SortType
    Перечисление, указывающее тип сортировки, применяемой к конкретному столбцу.
  • Краткое описание полей

    Поля
    Модификатор и тип Поле Описание
    static Callback<TreeTableColumn<?,​?>,​TreeTableCell<?,​?>> DEFAULT_CELL_FACTORY
    Если для экземпляра TreeTableColumn не указана cellFactory, то по умолчанию используется эта.
    • Поля, унаследованные от класса javafx.scene.control.TableColumnBase

      DEFAULT_COMPARATOR
  • Краткое описание конструкторов

    Конструкторы
    Конструктор Описание
    TreeTableColumn()
    Создает TreeTableColumn по умолчанию с фабрикой ячеек, компаратором и реализацией onEditCommit по умолчанию.
    TreeTableColumn​(String text)
    Создает TreeTableColumn с текстом, заданным в предоставленной строке, с фабрикой ячеек, компаратором и реализацией onEditCommit по умолчанию.
  • Краткое описание методов

    Все методыСтатические методыМетоды экземпляраКонкретные методы
    Модификатор и тип Метод Описание
    ObjectProperty<Callback<TreeTableColumn<S,​T>,​TreeTableCell<S,​T>>> cellFactoryProperty()
    Фабрика ячеек для всех ячеек в этом столбце.
    ObjectProperty<Callback<TreeTableColumn.CellDataFeatures<S,​T>,​ObservableValue<T>>> cellValueFactoryProperty()
    Фабрика значений ячеек должна быть установлена для указания способа заполнения всех ячеек в отдельном столбце TreeTableColumn.
    static <S,​T>
    EventType<TreeTableColumn.CellEditEvent<S,​T>>
    editAnyEvent()
    Родительское событие для любого события редактирования TreeTableColumn.
    static <S,​T>
    EventType<TreeTableColumn.CellEditEvent<S,​T>>
    editCancelEvent()
    Указывает, что редактирование было отменено, что означает, что никакие изменения не должны быть внесены в исходный источник данных.
    static <S,​T>
    EventType<TreeTableColumn.CellEditEvent<S,​T>>
    editCommitEvent()
    Указывает, что редактирование было подтверждено пользователем, что означает, что изменение должно быть внесено в исходный источник данных, чтобы отразить новые данные.
    static <S,​T>
    EventType<TreeTableColumn.CellEditEvent<S,​T>>
    editStartEvent()
    Указывает, что пользователь выполнил какое-либо взаимодействие для запуска события редактирования, или, альтернативно, метод TreeTableView.edit(int, javafx.scene.control.TreeTableColumn) был вызван.
    Callback<TreeTableColumn<S,​T>,​TreeTableCell<S,​T>> getCellFactory()
    Получает значение свойства cellFactory.
    ObservableValue<T> getCellObservableValue​(int index)
    Попытка вернуть ObservableValue<T> для элемента в заданном индексе (который имеет тип S).
    ObservableValue<T> getCellObservableValue​(TreeItem<S> item)
    Попытка вернуть ObservableValue<T> для заданного элемента (который имеет тип S).
    Callback<TreeTableColumn.CellDataFeatures<S,​T>,​ObservableValue<T>> getCellValueFactory()
    Получает значение свойства cellValueFactory.
    static List<CssMetaData<? extends Styleable,​?>> getClassCssMetaData()
    ObservableList<TreeTableColumn<S,​?>> getColumns()
    Это позволяет использовать вложенные столбцы, что может быть полезно для группировки связанных данных.
    List<CssMetaData<? extends Styleable,​?>> getCssMetaData()
    CssMetaData этого Styleable.
    EventHandler<TreeTableColumn.CellEditEvent<S,​T>> getOnEditCancel()
    Получает значение свойства onEditCancel.
    EventHandler<TreeTableColumn.CellEditEvent<S,​T>> getOnEditCommit()
    Получает значение свойства onEditCommit.
    EventHandler<TreeTableColumn.CellEditEvent<S,​T>> getOnEditStart()
    Получает значение свойства onEditStart.
    TreeTableColumn.SortType getSortType()
    Получает значение свойства sortType.
    Node getStyleableNode()
    Возвращает узел, представляющий этот объект Styleable.
    Styleable getStyleableParent()
    Возвращает родителя этого Styleable или null, если родителя нет.
    TreeTableView<S> getTreeTableView()
    Получает значение свойства treeTableView.
    String getTypeSelector()
    Тип этого Styleable, который используется в сопоставлении селекторов.
    ObjectProperty<EventHandler<TreeTableColumn.CellEditEvent<S,​T>>> onEditCancelProperty()
    Обработчик событий будет вызван, когда пользователь отменяет редактирование ячейки.
    ObjectProperty<EventHandler<TreeTableColumn.CellEditEvent<S,​T>>> onEditCommitProperty()
    Этот обработчик событий будет вызван, когда пользователь успешно подтверждает редактирование.
    ObjectProperty<EventHandler<TreeTableColumn.CellEditEvent<S,​T>>> onEditStartProperty()
    Этот обработчик событий будет вызван, когда пользователь успешно начинает редактирование.
    void setCellFactory​(Callback<TreeTableColumn<S,​T>,​TreeTableCell<S,​T>> value)
    Устанавливает значение свойства cellFactory.
    void setCellValueFactory​(Callback<TreeTableColumn.CellDataFeatures<S,​T>,​ObservableValue<T>> value)
    Устанавливает значение свойства cellValueFactory.
    void setOnEditCancel​(EventHandler<TreeTableColumn.CellEditEvent<S,​T>> value)
    Устанавливает значение свойства onEditCancel.
    void setOnEditCommit​(EventHandler<TreeTableColumn.CellEditEvent<S,​T>> value)
    Устанавливает значение свойства onEditCommit.
    void setOnEditStart​(EventHandler<TreeTableColumn.CellEditEvent<S,​T>> value)
    Устанавливает значение свойства onEditStart.
    void setSortType​(TreeTableColumn.SortType value)
    Устанавливает значение свойства sortType.
    ObjectProperty<TreeTableColumn.SortType> sortTypeProperty()
    Указывает, должен ли этот столбец, если он является частью порядка сортировки (см. TreeTableView.getSortOrder() для получения дополнительной информации), сортироваться в порядке возрастания или убывания.
    ReadOnlyObjectProperty<TreeTableView<S>> treeTableViewProperty()
    TreeTableView, к которому принадлежит этот TreeTableColumn.
    • Методы, унаследованные от класса javafx.scene.control.TableColumnBase

      addEventHandler, buildEventDispatchChain, comparatorProperty, contextMenuProperty, editableProperty, getCellData, getCellData, getComparator, getContextMenu, getGraphic, getId, getMaxWidth, getMinWidth, getParentColumn, getPrefWidth, getProperties, getPseudoClassStates, getSortNode, getStyle, getStyleClass, getText, getUserData, getWidth, graphicProperty, hasProperties, idProperty, isEditable, isReorderable, isResizable, isSortable, isVisible, maxWidthProperty, minWidthProperty, parentColumnProperty, prefWidthProperty, removeEventHandler, reorderableProperty, resizableProperty, setComparator, setContextMenu, setEditable, setGraphic, setId, setMaxWidth, setMinWidth, setPrefWidth, setReorderable, setResizable, setSortable, setSortNode, setStyle, setText, setUserData, setVisible, sortableProperty, sortNodeProperty, styleProperty, textProperty, visibleProperty, widthProperty
    • Методы, унаследованные от класса java.lang.Object

      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Методы, унаследованные от интерфейса javafx.event.EventTarget

      buildEventDispatchChain
  • Подробное описание свойств

    • treeTableView

      public final ReadOnlyObjectProperty<TreeTableView<S>> treeTableViewProperty
      Объект TreeTableView, к которому принадлежит этот TreeTableColumn.
      См. также:
      getCellValueFactory()
    • cellValueFactory

      public final ObjectProperty<Callback<TreeTableColumn.CellDataFeatures<S,​T>,​ObservableValue<T>>> cellValueFactoryProperty
      Необходимо установить фабрику значений ячеек, чтобы указать, как заполнять все ячейки в рамках одного TreeTableColumn. Фабрика значений ячеек — это Callback, которая предоставляет экземпляр TreeTableColumn.CellDataFeatures и ожидает возвращение ObservableValue. Возвращаемый экземпляр ObservableValue будет наблюдаться внутри, чтобы обновления значения мгновенно отображались на экране.

      Пример настройки фабрики значений ячеек:

      
       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();
           }
        });
       }
      Распространённый подход — заполнение ячеек в TreeTableColumn с использованием одного значения из объекта JavaBean. Для поддержки этого распространённого сценария существует класс TreeItemPropertyValueFactory. Обратитесь к этому классу для получения дополнительной информации о его использовании, но вкратце, как можно упростить вышеописанный случай с использованием класса TreeItemPropertyValueFactory:
      
       firstNameCol.setCellValueFactory(new TreeItemPropertyValueFactory<Person,String>("firstName"));
       
      См. также:
      getCellValueFactory(), setCellValueFactory(Callback)
    • cellFactory

      public final ObjectProperty<Callback<TreeTableColumn<S,​T>,​TreeTableCell<S,​T>>> cellFactoryProperty
      Фабрика ячеек для всех ячеек в этом столбце. Фабрика ячеек отвечает за отображение данных, содержащихся в каждой TreeTableCell для одного TreeTableColumn.

      По умолчанию TreeTableColumn использует default cell factory, но это можно заменить на собственную реализацию, например, для отображения данных другим способом или для поддержки редактирования. Подробная документация по созданию пользовательских фабрик ячеек есть в других местах (см. Cell и TreeTableView, например).

      Наконец, в пакете javafx.scene.control.cell доступно несколько готовых фабрик ячеек.

      См. также:
      getCellFactory(), setCellFactory(Callback)
    • sortType

      public final ObjectProperty<TreeTableColumn.SortType> sortTypeProperty
      Указывает, должен ли этот столбец, если он входит в порядок сортировки (подробнее см. TreeTableView.getSortOrder()), быть отсортирован по возрастанию или убыванию. Простое изменение этого свойства приведет к изменению порядка сортировки в TreeTableView, предполагая, конечно, что этот столбец изначально находится в ObservableList sortOrder.
      См. также:
      getSortType(), setSortType(TreeTableColumn.SortType)
    • onEditStart

      public final ObjectProperty<EventHandler<TreeTableColumn.CellEditEvent<S,​T>>> onEditStartProperty
      Этот обработчик событий будет вызван, когда пользователь успешно инициирует редактирование.
      См. также:
      getOnEditStart(), setOnEditStart(EventHandler)
    • onEditCommit

      public final ObjectProperty<EventHandler<TreeTableColumn.CellEditEvent<S,​T>>> onEditCommitProperty
      Этот обработчик событий будет вызван, когда пользователь успешно завершит редактирование.
      См. также:
      getOnEditCommit(), setOnEditCommit(EventHandler)
    • onEditCancel

      public final ObjectProperty<EventHandler<TreeTableColumn.CellEditEvent<S,​T>>> onEditCancelProperty
      Этот обработчик событий будет вызван, когда пользователь отменяет редактирование ячейки.
      См. также:
      getOnEditCancel(), setOnEditCancel(EventHandler)
  • Подробное описание полей

    • DEFAULT_CELL_FACTORY

      public static final Callback<TreeTableColumn<?,​?>,​TreeTableCell<?,​?>> DEFAULT_CELL_FACTORY
      Если для TreeTableColumn не указана cellFactory, то по умолчанию будет использоваться эта. В настоящее время она просто отображает свойство TableCell item внутри свойства graphic, если item является Node, или просто вызывает toString(), если оно не равно null, устанавливая полученную строку внутри свойства text.
  • Подробное описание конструкторов

    • TreeTableColumn

      public TreeTableColumn()
      Создаёт TreeTableColumn по умолчанию с фабрикой ячеек, компаратором и реализацией onEditCommit по умолчанию.
    • TreeTableColumn

      public TreeTableColumn​(String text)
      Создаёт TreeTableColumn со значением текста, заданным предоставленной строкой, с фабрикой ячеек, компаратором и реализацией onEditCommit по умолчанию.
      Параметры:
      text - Строка, отображаемая, когда TreeTableColumn помещена в TreeTableView.
  • Подробное описание методов

    • editAnyEvent

      public static <S,​T> EventType<TreeTableColumn.CellEditEvent<S,​T>> editAnyEvent()
      Родительское событие для любого события редактирования TreeTableColumn.
      Параметры типа:
      S - тип обобщенного типа TreeTableView
      T - тип содержимого во всех ячейках в этом TreeTableColumn
      Возвращает:
      событие редактирования
    • editStartEvent

      public static <S,​T> EventType<TreeTableColumn.CellEditEvent<S,​T>> editStartEvent()
      Указывает, что пользователь выполнил какое-либо взаимодействие для начала события редактирования, или, альтернативно, был вызван метод TreeTableView.edit(int, javafx.scene.control.TreeTableColumn).
      Параметры типа:
      S - тип обобщенного типа TreeTableView
      T - тип содержимого во всех ячейках в этом TreeTableColumn
      Возвращает:
      событие начала редактирования
    • editCancelEvent

      public static <S,​T> EventType<TreeTableColumn.CellEditEvent<S,​T>> editCancelEvent()
      Указывает, что редактирование было отменено, что означает, что никаких изменений в исходном источнике данных не должно быть.
      Параметры типа:
      S - тип обобщенного типа TreeTableView
      T - тип содержимого во всех ячейках в этом TreeTableColumn
      Возвращает:
      событие отмены редактирования
    • editCommitEvent

      public static <S,​T> EventType<TreeTableColumn.CellEditEvent<S,​T>> editCommitEvent()
      Указывает, что редактирование было подтверждено пользователем, что означает, что изменение должно быть внесено в исходный источник данных, чтобы отразить новые данные.
      Параметры типа:
      S - тип обобщенного типа TreeTableView
      T - тип содержимого во всех ячейках в этом TreeTableColumn
      Возвращает:
      событие подтверждения редактирования
    • treeTableViewProperty

      public final ReadOnlyObjectProperty<TreeTableView<S>> treeTableViewProperty()
      TreeTableView, к которому принадлежит этот TreeTableColumn.
      См. также:
      getTreeTableView()
    • getTreeTableView

      public final TreeTableView<S> getTreeTableView()
      Возвращает значение свойства treeTableView.
      Описание свойства:
      TreeTableView, к которому принадлежит этот TreeTableColumn.
    • setCellValueFactory

      public final void setCellValueFactory​(Callback<TreeTableColumn.CellDataFeatures<S,​T>,​ObservableValue<T>> value)
      Устанавливает значение свойства cellValueFactory.
      Описание свойства:
      Необходимо установить фабрику значений ячейки, чтобы указать, как заполнить все ячейки в одном TreeTableColumn. Фабрика значений ячейки — это Callback, которая предоставляет экземпляр TreeTableColumn.CellDataFeatures и ожидает возврата ObservableValue. Возвращаемый экземпляр ObservableValue будет наблюдаться внутри, чтобы позволить обновлениям значения немедленно отражаться на экране.

      Пример установки фабрики значений ячейки:

      
       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();
           }
        });
       }
      Распространенным подходом является заполнение ячеек в TreeTableColumn одним значением из Java-бин. Для поддержки этого распространенного сценария существует класс TreeItemPropertyValueFactory. Обратитесь к этому классу за дополнительной информацией о его использовании, но кратко, вот как можно упростить вышеупомянутый случай, используя класс TreeItemPropertyValueFactory:
      
       firstNameCol.setCellValueFactory(new TreeItemPropertyValueFactory<Person,String>("firstName"));
       
    • getCellValueFactory

      public final Callback<TreeTableColumn.CellDataFeatures<S,​T>,​ObservableValue<T>> getCellValueFactory()
      Возвращает значение свойства cellValueFactory.
      Описание свойства:
      Необходимо установить фабрику значений ячейки, чтобы указать, как заполнить все ячейки в одном TreeTableColumn. Фабрика значений ячейки — это Callback, которая предоставляет экземпляр TreeTableColumn.CellDataFeatures и ожидает возврата ObservableValue. Возвращаемый экземпляр ObservableValue будет наблюдаться внутри, чтобы позволить обновлениям значения немедленно отражаться на экране.

      Пример установки фабрики значений ячейки:

      
       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();
           }
        });
       }
      Распространенным подходом является заполнение ячеек в TreeTableColumn одним значением из Java-бин. Для поддержки этого распространенного сценария существует класс TreeItemPropertyValueFactory. Обратитесь к этому классу за дополнительной информацией о его использовании, но кратко, вот как можно упростить вышеупомянутый случай, используя класс TreeItemPropertyValueFactory:
      
       firstNameCol.setCellValueFactory(new TreeItemPropertyValueFactory<Person,String>("firstName"));
       
    • cellValueFactoryProperty

      public final ObjectProperty<Callback<TreeTableColumn.CellDataFeatures<S,​T>,​ObservableValue<T>>> cellValueFactoryProperty()
      Фабрика значений ячейки должна быть установлена для указания способа заполнения всех ячеек в одном TreeTableColumn. Фабрика значений ячейки — это Callback, предоставляющая экземпляр TreeTableColumn.CellDataFeatures и ожидающая возврата ObservableValue. Возвращаемый экземпляр ObservableValue будет наблюдаться внутри, чтобы позволить обновлениям значения немедленно отражаться на экране.

      Пример установки фабрики значений ячейки:

      
       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();
           }
        });
       }
      Распространенным подходом является заполнение ячеек в TreeTableColumn одним значением из Java-бин. Для поддержки этого распространенного сценария существует класс TreeItemPropertyValueFactory. Обратитесь к этому классу за дополнительной информацией о его использовании, но кратко, вот как можно упростить вышеупомянутый случай, используя класс TreeItemPropertyValueFactory:
      
       firstNameCol.setCellValueFactory(new TreeItemPropertyValueFactory<Person,String>("firstName"));
       
      См. также:
      getCellValueFactory(), setCellValueFactory(Callback)
    • setCellFactory

      public final void setCellFactory​(Callback<TreeTableColumn<S,​T>,​TreeTableCell<S,​T>> value)
      Устанавливает значение свойства cellFactory.
      Описание свойства:
      Фабрика ячеек для всех ячеек в этом столбце. Фабрика ячеек отвечает за отображение данных, содержащихся в каждой TreeTableCell для одного TreeTableColumn.

      По умолчанию TreeTableColumn использует default cell factory, но это можно заменить пользовательской реализацией, например, для отображения данных другим способом или для поддержки редактирования. Есть много документации по созданию пользовательских фабрик ячеек в других местах (см. Cell и TreeTableView, например).

      Наконец, в пакете javafx.scene.control.cell доступно несколько предварительно созданных фабрик ячеек.

    • getCellFactory

      public final Callback<TreeTableColumn<S,​T>,​TreeTableCell<S,​T>> getCellFactory()
      Возвращает значение свойства cellFactory.
      Описание свойства:
      Фабрика ячеек для всех ячеек в этом столбце. Фабрика ячеек отвечает за отображение данных, содержащихся в каждой TreeTableCell для одного TreeTableColumn.

      По умолчанию TreeTableColumn использует default cell factory, но это можно заменить пользовательской реализацией, например, для отображения данных другим способом или для поддержки редактирования. Есть много документации по созданию пользовательских фабрик ячеек в других местах (см. Cell и TreeTableView, например).

      Наконец, в пакете javafx.scene.control.cell доступно несколько предварительно созданных фабрик ячеек.

    • cellFactoryProperty

      public final ObjectProperty<Callback<TreeTableColumn<S,​T>,​TreeTableCell<S,​T>>> cellFactoryProperty()
      Фабрика ячеек для всех ячеек в этом столбце. Фабрика ячеек отвечает за отображение данных, содержащихся в каждой TreeTableCell для одного TreeTableColumn.

      По умолчанию TreeTableColumn использует default cell factory, но это можно заменить пользовательской реализацией, например, для отображения данных другим способом или для поддержки редактирования. Есть много документации по созданию пользовательских фабрик ячеек в других местах (см. Cell и TreeTableView, например).

      Наконец, в пакете javafx.scene.control.cell доступно несколько предварительно созданных фабрик ячеек.

      См. также:
      getCellFactory(), setCellFactory(Callback)
    • sortTypeProperty

      public final ObjectProperty<TreeTableColumn.SortType> sortTypeProperty()
      Используется для указания, должна ли эта колонка, если она является частью порядка сортировки (см. TreeTableView.getSortOrder() для получения дополнительной информации), сортироваться по возрастанию или убыванию. Простое переключение этого свойства приведет к изменению порядка сортировки в TreeTableView, при условии, что эта колонка изначально присутствует в списке sortOrder ObservableList.
      См. также:
      getSortType(), setSortType(TreeTableColumn.SortType)
    • setSortType

      public final void setSortType​(TreeTableColumn.SortType value)
      Устанавливает значение свойства sortType.
      Описание свойства:
      Используется для указания, должна ли эта колонка, если она является частью порядка сортировки (см. TreeTableView.getSortOrder() для получения дополнительной информации), сортироваться по возрастанию или убыванию. Простое переключение этого свойства приведет к изменению порядка сортировки в TreeTableView, при условии, что эта колонка изначально присутствует в списке sortOrder ObservableList.
    • getSortType

      public final TreeTableColumn.SortType getSortType()
      Получает значение свойства sortType.
      Описание свойства:
      Используется для указания, должна ли эта колонка, если она является частью порядка сортировки (см. TreeTableView.getSortOrder() для получения дополнительной информации), сортироваться по возрастанию или убыванию. Простое переключение этого свойства приведет к изменению порядка сортировки в TreeTableView, при условии, что эта колонка изначально присутствует в списке sortOrder ObservableList.
    • setOnEditStart

      public final void setOnEditStart​(EventHandler<TreeTableColumn.CellEditEvent<S,​T>> value)
      Устанавливает значение свойства onEditStart.
      Описание свойства:
      Обработчик этого события будет вызван, когда пользователь успешно начнёт редактирование.
    • getOnEditStart

      public final EventHandler<TreeTableColumn.CellEditEvent<S,​T>> getOnEditStart()
      Получает значение свойства onEditStart.
      Описание свойства:
      Обработчик этого события будет вызван, когда пользователь успешно начнёт редактирование.
    • onEditStartProperty

      public final ObjectProperty<EventHandler<TreeTableColumn.CellEditEvent<S,​T>>> onEditStartProperty()
      Обработчик этого события будет вызван, когда пользователь успешно начнёт редактирование.
      См. также:
      getOnEditStart(), setOnEditStart(EventHandler)
    • setOnEditCommit

      public final void setOnEditCommit​(EventHandler<TreeTableColumn.CellEditEvent<S,​T>> value)
      Устанавливает значение свойства onEditCommit.
      Описание свойства:
      Обработчик этого события будет вызван, когда пользователь успешно завершит редактирование.
    • getOnEditCommit

      public final EventHandler<TreeTableColumn.CellEditEvent<S,​T>> getOnEditCommit()
      Получает значение свойства onEditCommit.
      Описание свойства:
      Обработчик этого события будет вызван, когда пользователь успешно завершит редактирование.
    • onEditCommitProperty

      public final ObjectProperty<EventHandler<TreeTableColumn.CellEditEvent<S,​T>>> onEditCommitProperty()
      Обработчик этого события будет вызван, когда пользователь успешно завершит редактирование.
      См. также:
      getOnEditCommit(), setOnEditCommit(EventHandler)
    • setOnEditCancel

      public final void setOnEditCancel​(EventHandler<TreeTableColumn.CellEditEvent<S,​T>> value)
      Устанавливает значение свойства onEditCancel.
      Описание свойства:
      Обработчик этого события будет вызван, когда пользователь отменит редактирование ячейки.
    • getOnEditCancel

      public final EventHandler<TreeTableColumn.CellEditEvent<S,​T>> getOnEditCancel()
      Получает значение свойства onEditCancel.
      Описание свойства:
      Обработчик этого события будет вызван, когда пользователь отменит редактирование ячейки.
    • onEditCancelProperty

      public final ObjectProperty<EventHandler<TreeTableColumn.CellEditEvent<S,​T>>> onEditCancelProperty()
      Обработчик этого события будет вызван, когда пользователь отменит редактирование ячейки.
      См. также:
      getOnEditCancel(), setOnEditCancel(EventHandler)
    • getColumns

      public final ObservableList<TreeTableColumn<S,​?>> getColumns()
      Это позволяет поддерживать вложенные колонки, что может быть полезно для группировки связанных данных. Например, может быть колонка 'Имя' с двумя вложенными колонками 'Имя' и 'Фамилия'.

      Это никак не влияет на таблицу как таковую - все индексы столбцов указывают только на листовые колонки, и сортировать по родительской колонке нельзя, только по листовым. Другими словами, это чисто визуальная функция.

      Определено в:
      getColumns в классе TableColumnBase<TreeItem<S>,​T>
      Возвращает:
      ObservableList, содержащий экземпляры TableColumnBase (или подклассы), которые являются дочерними элементами этого TableColumnBase. Если эти дочерние экземпляры TableColumnBase установлены как видимые, они будут отображаться под этим столбцом таблицы.
    • getCellObservableValue

      public final ObservableValue<T> getCellObservableValue​(int index)
      Попытка вернуть ObservableValue<T> для элемента в заданном индексе (который имеет тип S). Другими словами, этот метод ожидает получить целочисленное значение, которое больше или равно нулю и меньше размера основной модели данных. Если индекс корректен, этот метод вернет ObservableValue<T> для этого конкретного столбца.

      Это достигается вызовом cell value factory и возвращением того, что оно возвращает при передаче CellDataFeatures (см., например, классы CellDataFeatures, относящиеся к TableColumn и TreeTableColumn для получения дополнительной информации).

      Определено в:
      getCellObservableValue в классе TableColumnBase<TreeItem<S>,​T>
      Параметры:
      index - Индекс элемента (типа S), для которого требуется ObservableValue<T>.
      Возвращает:
      ObservableValue<T> для этого конкретного столбца таблицы.
    • getCellObservableValue

      public final ObservableValue<T> getCellObservableValue​(TreeItem<S> item)
      Попытка вернуть ObservableValue<T> для заданного элемента (который имеет тип S). Другими словами, этот метод ожидает получить объект из основной модели данных для всей «строки» в таблице, и он должен вернуть ObservableValue<T> для значения в этом конкретном столбце.

      Это достигается вызовом cell value factory и возвращением того, что оно возвращает при передаче CellDataFeatures (см., например, классы CellDataFeatures, относящиеся к TableColumn и TreeTableColumn для получения дополнительной информации).

      Определено в:
      getCellObservableValue в классе TableColumnBase<TreeItem<S>,​T>
      Параметры:
      item - Элемент (типа S), для которого требуется ObservableValue<T>.
      Возвращает:
      ObservableValue<T> для этого конкретного столбца таблицы.
    • getTypeSelector

      public String getTypeSelector()
      Тип этого Styleable, который будет использоваться в сопоставлении селекторов. Аналогично «элементу» в HTML. (CSS Type Selector).
      Определено в:
      getTypeSelector в интерфейсе Styleable
      Возвращает:
      "TreeTableColumn"
    • getStyleableParent

      public Styleable getStyleableParent()
      Возвращает родителя этого Styleable или null, если родителя нет.
      Определено в:
      getStyleableParent в интерфейсе Styleable
      Возвращает:
      getTreeTableView()
    • getCssMetaData

      public List<CssMetaData<? extends Styleable,​?>> getCssMetaData()
      CssMetaData этого Styleable. Может возвращаться в виде неизменяемого списка.
      Определено в:
      getCssMetaData в интерфейсе Styleable
      Возвращает:
      CssMetaData
    • getClassCssMetaData

      public static List<CssMetaData<? extends Styleable,​?>> getClassCssMetaData()
    • getStyleableNode

      public Node getStyleableNode()
      Возвращает узел Node, представляющий этот объект Styleable. Этот метод должен быть переопределен в тех случаях, когда Styleable сам по себе не является узлом Node, чтобы он мог по желанию возвращать соответствующий корневой узел представления самого себя. По умолчанию этот метод возвращает null, что может означать, что либо Styleable сам по себе является узлом Node, либо, если это не так, Styleable не имеет доступного узла представления на момент запроса.
      Определено в:
      getStyleableNode в интерфейсе Styleable
      Возвращает:
      узел Node, представляющий этот объект Styleable

© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API