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