Класс TreeItemPropertyValueFactory<S,T>
- javafx.scene.control.cell.TreeItemPropertyValueFactory<S,T>
Все реализуемые интерфейсы:
Callback<TreeTableColumn.CellDataFeatures<S,T>,ObservableValue<T>>
public class TreeItemPropertyValueFactory<S,T> extends Object implements Callback<TreeTableColumn.CellDataFeatures<S,T>,ObservableValue<T>>
TreeTableColumn cell value factory. Пример использования этого класса: TreeTableColumn<Person,String> firstNameCol = new TreeTableColumn<Person,String>("First Name");
firstNameCol.setCellValueFactory(new TreeItemPropertyValueFactory<Person,String>("firstName")); В этом примере строка "firstName" используется как ссылка на предполагаемый firstNameProperty() метод в классе Person (который является типом класса TreeTableView). Кроме того, этот метод должен возвращать экземпляр Property. Если такой метод найден, то TreeTableCell заполняется этим ObservableValueЕсли метод, соответствующий этому шаблону, не существует, поддерживается переход к попытке вызова get<property>() или is<property>() (то есть, getFirstName() или isFirstName() в примере выше). Если существует метод, соответствующий этому шаблону, возвращаемое значение из этого метода обертывается в ReadOnlyObjectWrapper и возвращается в TreeTableCell. Однако в этой ситуации TreeTableCell не сможет наблюдать за ObservableValue для изменений (как в первом подходе выше).
Для справки (и как отмечено в документации TreeTableColumn cell value factory), полная форма кода выше будет следующей:
TreeTableColumn<Person,String> firstNameCol = new TreeTableColumn<Person,String>("First Name");
firstNameCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
public ObservableValue<String> call(CellDataFeatures<Person, String> p) {
// p.getValue() returns the TreeItem instance for a particular
// TreeTableView row, and the second getValue() call returns the
// Person instance contained within the TreeItem.
return p.getValue().getValue().firstNameProperty();
}
});
}С тех пор:
JavaFX 8.0
См. также:
TreeTableColumn, TreeTableView, TreeTableCell, PropertyValueFactory, MapValueFactory
-
Краткое описание конструкторов
Конструкторы Конструктор и описание TreeItemPropertyValueFactory(String property)Создаёт стандартный PropertyValueFactory для извлечения значения из заданного элемента строки TableView рефлективно, используя заданное имя свойства.
-
Краткое описание методов
Все методыМетоды экземпляраКонкретные методы Модификатор и тип Метод и описание ObservableValue<T>call(TreeTableColumn.CellDataFeatures<S,T> param)Методcallвызывается при необходимости и получает один аргумент типа P, с требованием, что возвращается объект типа R.StringgetProperty()Возвращает имя свойства, предоставленное в конструкторе.
-
Подробное описание конструкторов
-
TreeItemPropertyValueFactory
public TreeItemPropertyValueFactory(String property)
Создаёт стандартный PropertyValueFactory для извлечения значения из заданного элемента строки TableView рефлективно, используя заданное имя свойства.Параметры:
property- Имя свойства, с которым пытаться рефлективно извлечь соответствующее значение в заданном объекте.
-
-
Подробное описание методов
-
call
public ObservableValue<T> call(TreeTableColumn.CellDataFeatures<S,T> param)
Методcallвызывается при необходимости и получает один аргумент типа P, с требованием, что возвращается объект типа R.Указано в:
callв интерфейсеCallback<TreeTableColumn.CellDataFeatures<S,T>,ObservableValue<T>>Параметры:
param- Единственный аргумент, на основе которого должно быть определено возвращаемое значение.Возвращает:
Объект типа R, который может быть определён на основе предоставленного значения параметра.
-
getProperty
public final String getProperty()
Возвращает имя свойства, предоставленное в конструкторе.
-
© 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.