Класс 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"));
В этом примере, Person - это тип класса экземпляров TreeItem, используемых в TreeTableView. Класс Person должен быть объявлен public. TreeItemPropertyValueFactory использует аргумент конструктора, "firstName", для предположения, что Person имеет public метод firstNameProperty без формальных параметров и типом возвращаемого значения ObservableValue<String>.
Если такой метод существует, он вызывается и дополнительно предполагается, что возвращает экземпляр Property<String>. Возвращаемое значение используется для заполнения TreeTableCell. Кроме того, TreeTableView добавляет наблюдателя к возвращаемому значению, таким образом, любые изменения будут наблюдаться TreeTableView, что приведет к немедленному обновлению ячейки.
Если такой метод не существует, TreeItemPropertyValueFactory предполагает, что Person имеет public метод getFirstName или isFirstName без формальных параметров и типом возвращаемого значения String. Если такой метод существует, он вызывается, а его возвращаемое значение оборачивается в ReadOnlyObjectWrapper и возвращается в TreeTableCell. В этом случае, TreeTableCell не сможет наблюдать за изменениями свойства, в отличие от первого подхода выше.
Для справки (как отмечено в документации 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<Person> 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.base модуля. Класс доступен рефлексивно, если модуль opens содержащий пакет, по крайней мере, javafx.base модулю. В противном случае метод call(TreeTableColumn.CellDataFeatures) выведет предупреждение и вернет null.
Например, если класс Person находится в пакете com.foo в модуле foo.app, module-info.java может выглядеть так:
module foo.app {
opens com.foo to javafx.base;
} В качестве альтернативы, класс доступен рефлексивно, если модуль exports содержащий пакет безусловно.
- С:
- JavaFX 8.0
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
TreeItemPropertyValueFactory |
Создаёт фабрику PropertyValue для извлечения значения из строки элемента TableView рефлексивно, используя имя свойства. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
ObservableValue<T> |
call |
Метод call вызывается при необходимости и принимает один аргумент типа P, с требованием, что возвращается объект типа R. |
final String |
getProperty() |
Возвращает имя свойства, переданное в конструкторе. |
Подробное описание конструкторов
TreeItemPropertyValueFactory
public TreeItemPropertyValueFactory(String property)
- Параметры:
-
property- Имя свойства, с помощью которого пытаться рефлексивно извлечь соответствующее значение из данного объекта.
Подробное описание методов
call
public ObservableValue<T> call(TreeTableColumn.CellDataFeatures<S,T> param)
call вызывается при необходимости и принимает один аргумент типа P, с требованием, что возвращается объект типа R.- Унаследован от:
-
callв интерфейсеCallback<S,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.