Класс TableView<S>
- Параметры типа:
-
S- Тип объектов, содержащихся в списке элементов TableView.
- Все реализованные интерфейсы:
-
Styleable,EventTarget,Skinnable
@DefaultProperty("items") public class TableView<S> extends Control ListView с добавлением поддержки столбцов. Пример создания TableView можно найти в разделе «Создание TableView» ниже. Контрол TableView имеет ряд функций, включая:
- Мощный API
TableColumn:- Поддержка
cell factoriesдля лёгкой настройки содержимогоcellв состояниях отображения и редактирования. - Указание
minWidth/prefWidth/maxWidth, а такжеfixed width columns. - Изменение ширины пользователем во время выполнения.
- Переупорядочивание столбцов пользователем во время выполнения.
- Встроенная поддержка
column nesting
- Поддержка
- Разные
resizing policiesдля указания действий при изменении пользователем размеров столбцов. - Поддержка
multiple column sortingщелчком по заголовку столбца (удерживайте клавишу Shift при нажатии на заголовок, чтобы сортировать по нескольким столбцам).
Обратите внимание, что TableView предназначен для визуализации данных – он не предназначен для компоновки пользовательского интерфейса. Если вам нужно расположить пользовательский интерфейс в виде сетки, рассмотрите компоновщик GridPane вместо этого.
Создание TableView
Создание TableView – многоэтапный процесс, который также зависит от модели данных, подлежащей представлению. В этом примере мы будем использовать ObservableList<Person>, так как это самый простой способ отображения данных в TableView. Класс Person будет состоять из свойств имени и фамилии. То есть:
public class Person {
private StringProperty firstName;
public void setFirstName(String value) { firstNameProperty().set(value); }
public String getFirstName() { return firstNameProperty().get(); }
public StringProperty firstNameProperty() {
if (firstName == null) firstName = new SimpleStringProperty(this, "firstName");
return firstName;
}
private StringProperty lastName;
public void setLastName(String value) { lastNameProperty().set(value); }
public String getLastName() { return lastNameProperty().get(); }
public StringProperty lastNameProperty() {
if (lastName == null) lastName = new SimpleStringProperty(this, "lastName");
return lastName;
}
public Person(String firstName, String lastName) {
setFirstName(firstName);
setLastName(lastName);
}
} Данные, которые мы будем использовать в этом примере:
List<Person> members = List.of(
new Person("William", "Reed"),
new Person("James", "Michaelson"),
new Person("Julius", "Dean")); Во-первых, нам нужно создать модель данных. Как упоминалось, в этом примере мы будем использовать ObservableList<Person>:
ObservableList<Person> teamMembers = FXCollections.observableArrayList(members); Затем мы создаём экземпляр TableView:
TableView<Person> table = new TableView<>();
table.setItems(teamMembers); После установки элементов, TableView будет автоматически обновляться всякий раз, когда список teamMembers меняется. Если список элементов доступен до создания TableView, его можно передать непосредственно в конструктор:
TableView<Person> table = new TableView<>(teamMembers); На этом этапе у нас есть TableView, связанный с наблюдаемым списком teamMembers. Теперь не хватает способа разделить данные, содержащиеся в модели, и представить их в одном или нескольких экземплярах TableColumn. Чтобы создать TableView с двумя столбцами для отображения свойств firstName и lastName, мы расширим последний пример кода следующим образом:
TableColumn<Person, String> firstNameCol = new TableColumn<>("First Name");
firstNameCol.setCellValueFactory(new PropertyValueFactory<>(members.get(0).firstNameProperty().getName())));
TableColumn<Person, String> lastNameCol = new TableColumn<>("Last Name");
lastNameCol.setCellValueFactory(new PropertyValueFactory<>(members.get(0).lastNameProperty().getName())));
table.getColumns().setAll(firstNameCol, lastNameCol); С помощью приведенного выше кода мы полностью определили минимальные свойства, необходимые для создания экземпляра TableView. Запуск этого кода приведет к отображению TableView с двумя столбцами для firstName и lastName. Любые другие свойства класса Person не будут отображаться, так как для них не определены TableColumns.
Поддержка TableView для классов, не содержащих свойств
Приведенный выше код – самый короткий возможный для создания TableView, когда объекты домена спроектированы с учетом свойств JavaFX (кроме того, PropertyValueFactory поддерживает обычные свойства JavaBean, хотя есть нюанс, поэтому для получения дополнительной информации см. документацию по классу). В противном случае необходимо предоставить пользовательскую фабрику значений ячеек. Более подробную информацию о фабриках значений ячеек можно найти в документации API TableColumn, но вкратце, вот как можно указать TableColumn:
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();
}
});
// or with a lambda expression:
firstNameCol.setCellValueFactory(p -> p.getValue().firstNameProperty()); API TableView выбора/фокуса
Для отслеживания выбора и фокуса необходимо ознакомиться с классами SelectionModel и FocusModel. В TableView может быть не более одного экземпляра каждого из этих классов, доступного соответственно из свойств selectionModel и focusModel. Хотя можно использовать этот API для установки новой модели выбора, в большинстве случаев это не требуется – модель выбора и фокуса по умолчанию должна работать в большинстве случаев.
По умолчанию используемый SelectionModel при создании TableView – реализация абстрактного класса MultipleSelectionModel. Однако, как указано в документации API для свойства selectionMode, значение по умолчанию – SelectionMode.SINGLE. Чтобы включить множественный выбор в экземпляре TableView по умолчанию, необходимо выполнить следующие действия:
tableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); Настройка визуального отображения TableView
Визуальное отображение TableView можно полностью настроить, заменив фабрику строк по умолчанию row factory. Фабрика строк используется для генерации экземпляров TableRow, которые используются для представления целой строки в TableView.
Однако во многих случаях это нежелательно, так как чаще требуется настройка ячеек по столбцам, а не по строкам. Поэтому важно отметить, что TableRow не является TableCell. TableRow – просто контейнер для нуля или более TableCell, и в большинстве случаев скорее всего захочется создать пользовательские TableCell, а не TableRow. Основной случай использования создания пользовательских экземпляров TableRow – вероятно, введение какой-либо поддержки охватывания столбцов.
Вы можете создавать пользовательские TableCell экземпляры по столбцам, присвоив соответствующую функцию свойству cell factory TableColumn.
См. документацию по классу Cell для более подробного описания написания пользовательских ячеек.
Предупреждение: узлы не должны вставляться напрямую в ячейки TableView
TableView позволяет его ячейкам содержать элементы любого типа, включая экземпляры Node. Вставка узлов в ячейки TableView сильно не рекомендуется, так как это может привести к непредсказуемым результатам. Важные моменты:
- Избегайте вставки
Nodeэкземпляров непосредственно в ячейкиTableViewили его модель данных. - Рекомендуемый подход – поместить соответствующую информацию в список элементов и предоставить пользовательскую фабрику
cell factoryдля создания узлов для данной ячейки и обновления их по требованию, используя данные, хранящиеся в элементе для данной ячейки. - Избегайте создания новых
Nodeв методеupdateItemпользовательскойcell factory.
Следующий минимальный пример демонстрирует, как создать пользовательскую фабрику ячеек для TableView, содержащую Node:
class CustomColor {
private SimpleObjectProperty<Color> color;
CustomColor(Color col) {
this.color = new SimpleObjectProperty<Color>(col);
}
public Color getColor() { return color.getValue(); }
public void setColor(Color c) { color.setValue(c); }
public SimpleObjectProperty<Color> colorProperty() { return color; }
}
TableView<CustomColor> tableview = new TableView<CustomColor>();
ObservableList<CustomColor> colorList = FXCollections.observableArrayList();
colorList.addAll(
new CustomColor(Color.RED),
new CustomColor(Color.GREEN),
new CustomColor(Color.BLUE));
TableColumn<CustomColor, Color> col = new TableColumn<CustomColor, Color>("Color");
col.setCellValueFactory(data -> data.getValue().colorProperty());
col.setCellFactory(p -> {
return new TableCell<CustomColor, Color> () {
private final Rectangle rectangle;
{
setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
rectangle = new Rectangle(10, 10);
}
@Override
protected void updateItem(Color item, boolean empty) {
super.updateItem(item, empty);
if (item == null || empty) {
setGraphic(null);
} else {
rectangle.setFill(item);
setGraphic(rectangle);
}
}
};
});
tableview.getColumns().add(col);
tableview.setItems(colorList); В этом примере анонимный пользовательский класс TableCell находится в пользовательской фабрике ячеек. Обратите внимание, что объект Rectangle (Node) необходимо создать в блоке инициализации экземпляра или конструкторе пользовательского класса TableCell и обновить/использовать в его методе updateItem.
Сортировка
До JavaFX 8.0 контрол TableView рассматривал список items как модель представления, что означало, что любые изменения в списке немедленно визуализировались. TableView также напрямую изменял порядок этого списка при инициировании пользователем сортировки. Это означало, что (опять же, до JavaFX 8.0) невозможно было вернуть TableView в состояние без сортировки (после перебора восходящего и нисходящего порядков).
Начиная с JavaFX 8.0 (и введением SortedList), теперь возможно вернуть коллекцию в состояние без сортировки, когда в TableView нет столбцов в sort order. Для этого необходимо создать экземпляр SortedList и привязать его свойство comparator к свойству TableView comparator, список:
// create a SortedList based on the provided ObservableList
SortedList sortedList = new SortedList(FXCollections.observableArrayList(2, 1, 3));
// create a TableView with the sorted list set as the items it will show
final TableView<Integer> tableView = new TableView<>(sortedList);
// bind the sortedList comparator to the TableView comparator
sortedList.comparatorProperty().bind(tableView.comparatorProperty());
// Don't forget to define columns! Редактирование
Этот контрол поддерживает инлайн-редактирование значений, и этот раздел пытается дать обзор доступных API и того, как их использовать.
Во-первых, редактирование ячеек обычно требует другого пользовательского интерфейса, чем когда ячейка не редактируется. Это ответственность реализации Cell, используемой. Для TableView настоятельно рекомендуется, чтобы редактирование было per-TableColumn, а не per row, так как чаще всего пользователи хотят редактировать значения каждого столбца по-разному, и этот подход позволяет использовать редакторы, специфичные для каждого столбца. Вы можете выбрать, будет ли ячейка постоянно в состоянии редактирования (например, это обычно характерно для ячеек CheckBox), или переключиться на другой интерфейс при начале редактирования (например, при двойном щелчке по ячейке).
Чтобы узнать, когда запрошено редактирование ячейки, просто переопределите метод Cell.startEdit() и обновите свойства ячейки text и graphic соответственно (например, установите текст в null и установите графическое представление в TextField). Кроме того, вы также должны переопределить Cell.cancelEdit(), чтобы восстановить первоначальное визуальное состояние интерфейса при завершении редактирования. В обоих случаях важно убедиться, что вы вызываете метод super, чтобы ячейка выполнила все необходимые действия для входа или выхода из режима редактирования.
После того, как ваша ячейка находится в состоянии редактирования, следующее, что вас, скорее всего, интересует, — это то, как сохранить или отменить текущее редактирование. Это ваша ответственность как поставщика фабрики ячеек. Ваша реализация ячейки будет знать, когда редактирование завершено, на основе пользовательского ввода (например, когда пользователь нажимает клавиши Enter или Esc на клавиатуре). В этом случае вам необходимо вызвать Cell.commitEdit(Object) или Cell.cancelEdit(), в зависимости от ситуации.
При вызове Cell.commitEdit(Object) в TableView генерируется событие, которое вы можете наблюдать, добавив обработчик событий EventHandler с помощью TableColumn.setOnEditCommit(javafx.event.EventHandler). Аналогично, вы также можете наблюдать события редактирования для edit start и edit cancel.
По умолчанию обработчик событий подтверждения редактирования TableColumn не равен null и содержит обработчик по умолчанию, который пытается перезаписать значение свойства для элемента в текущей редактируемой строке. Он может это сделать, так как метод Cell.commitEdit(Object) получает новое значение, а это значение передается обработчику событий подтверждения редактирования через CellEditEvent, который генерируется. Это просто вопрос вызова TableColumn.CellEditEvent.getNewValue() для получения этого значения.
Очень важно отметить, что если вы вызовете TableColumn.setOnEditCommit(javafx.event.EventHandler) со своим собственным обработчиком событий EventHandler, то вы удалите обработчик по умолчанию. Если вы не обработаете запись в свойство (или соответствующий источник данных), ничего не произойдет. Вы можете обойти эту проблему, используя метод EventTarget.addEventHandler(javafx.event.EventType, javafx.event.EventHandler) для добавления TableColumn.editCommitEvent() EventType с вашим желаемым обработчиком событий EventHandler в качестве второго аргумента. Используя этот метод, вы не замените стандартную реализацию, но будете уведомлены, когда произойдет подтверждение редактирования.
Надеюсь, этот обзор отвечает на некоторые часто задаваемые вопросы. К счастью, JavaFX поставляется с рядом предварительно созданных фабрик ячеек, которые обрабатывают все требования к редактированию от вашего имени. Эти предварительно созданные фабрики ячеек можно найти в пакете javafx.scene.control.cell.
- Since:
- JavaFX 2.0
- See Also:
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
static class |
TableView.ResizeFeatures<S> |
Неизменяемый класс-обёртка для использования в функциональности TableView column resize. |
static class |
TableView.TableViewFocusModel<S> |
Класс FocusModel с дополнительными функциями для поддержки требований элемента управления TableView. |
static class |
TableView.TableViewSelectionModel<S> |
Простое расширение абстрактного класса SelectionModel для специальной поддержки элементов управления TableView. |
Краткое описание свойств
| Тип | Свойство | Описание |
|---|---|---|
final ObjectProperty |
columnResizePolicy |
Вызывается при завершении пользователем операции изменения размера колонки. |
final ReadOnlyObjectProperty |
comparator |
Свойство компаратора — это только для чтения свойство, представляющее текущее состояние списка sort order. |
final BooleanProperty |
editable |
Указывает, является ли этот TableView редактируемым — только если TableView, TableColumn (при необходимости) и ячейки TableCell внутри него являются редактируемыми, ячейка TableCell сможет перейти в своё состояние редактирования. |
final ReadOnlyObjectProperty |
editingCell |
Представляет текущую редактируемую ячейку или null, если никакая ячейка не редактируется. |
final DoubleProperty |
fixedCellSize |
Указывает, имеют ли ячейки этого элемента управления фиксированную высоту (указанного значения). |
final ObjectProperty |
focusModel |
Представляет текущий установленный TableView.TableViewFocusModel для этого TableView. |
final ObjectProperty |
items |
Базовая модель данных для TableView. |
final ObjectProperty |
onScrollToColumn |
Вызывается при запросе прокрутки колонки в область видимости с помощью scrollToColumn(TableColumn) или scrollToColumnIndex(int)
|
final ObjectProperty |
onScrollTo |
Вызывается при запросе прокрутки индекса в область видимости с помощью scrollTo(int) или scrollTo(Object)
|
final ObjectProperty |
onSort |
Вызывается при запросе сортировки элемента управления. |
final ObjectProperty |
placeholder |
Этот узел отображается пользователю, когда в таблице нет данных для отображения. |
final ObjectProperty |
rowFactory |
Функция, которая генерирует TableRow. |
final ObjectProperty |
selectionModel |
SelectionModel предоставляет API, с помощью которого можно выбирать одиночные или несколько элементов в TableView, а также проверять, какие элементы выбрал пользователь. |
final ObjectProperty |
sortPolicy |
Политика сортировки определяет, как должна выполняться сортировка в этом TableView. |
final BooleanProperty |
tableMenuButtonVisible |
Это управляет доступностью кнопки меню, когда пользователь нажимает в выделенной области TableView, в которой находится пункт радиоменю для каждой TableColumn в этой таблице. |
Свойства, объявленные в классе javafx.scene.control.Control
contextMenu, skin, tooltip
Свойства, объявленные в классе javafx.scene.layout.Region
background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width
Свойства, объявленные в классе javafx.scene.Parent
needsLayout
Свойства, объявленные в классе javafx.scene.Node
accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, focusVisible, focusWithin, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, viewOrder, visible
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final Callback |
CONSTRAINED_RESIZE_POLICY |
Устарело. |
static final Callback |
CONSTRAINED_RESIZE_POLICY_ALL_COLUMNS |
Политика изменения размера, которая изменяет другие столбцы для подгонки ширины таблицы. |
static final Callback |
CONSTRAINED_RESIZE_POLICY_FLEX_LAST_COLUMN |
Политика изменения размера, которая изменяет столбцы, начиная с последнего, для подгонки ширины таблицы. |
static final Callback |
CONSTRAINED_RESIZE_POLICY_FLEX_NEXT_COLUMN |
Политика изменения размера, которая изменяет столбцы, начиная со следующего, для подгонки ширины таблицы. |
static final Callback |
CONSTRAINED_RESIZE_POLICY_LAST_COLUMN |
Политика изменения размера, которая изменяет последний столбец для подгонки ширины таблицы. |
static final Callback |
CONSTRAINED_RESIZE_POLICY_NEXT_COLUMN |
Политика изменения размера, которая изменяет следующий столбец для подгонки ширины таблицы. |
static final Callback |
CONSTRAINED_RESIZE_POLICY_SUBSEQUENT_COLUMNS |
Политика изменения размера, которая изменяет последующие столбцы для подгонки ширины таблицы. |
static final Callback |
DEFAULT_SORT_POLICY |
По умолчанию sort policy, которое будет использовать этот TableView, если не указана другая политика. |
static final Callback |
UNCONSTRAINED_RESIZE_POLICY |
Очень простая политика изменения размера, которая просто изменяет размер указанного столбца на заданную величину и смещает все остальные столбцы (справа от заданного столбца) дальше вправо (если величина положительна) или влево (если величина отрицательна). |
Поля, объявленные в классе javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZE
Поля, объявленные в классе javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
TableView() |
Создаёт стандартный элемент управления TableView без содержимого. |
TableView |
Создаёт TableView с содержимым, предоставленным в ObservableList items. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final ObjectProperty |
columnResizePolicyProperty() |
Вызывается при завершении операции изменения размера столбца. |
final ReadOnlyObjectProperty |
comparatorProperty() |
Свойство comparator — это свойство только для чтения, которое отражает текущее состояние списка sort order. |
void |
edit |
Приводит ячейку по заданным индексам строки/столбца к состоянию редактирования, если оно не установлено, при условии, что TableView и столбец также разрешают редактирование. |
final BooleanProperty |
editableProperty() |
Указывает, разрешено ли редактирование в этом TableView — только если TableView, TableColumn (если применимо) и ячейки таблицы также разрешают редактирование, ячейка таблицы сможет перейти в режим редактирования. |
final ReadOnlyObjectProperty |
editingCellProperty() |
Представляет текущую редактируемую ячейку или null, если ячейка не редактируется. |
final DoubleProperty |
fixedCellSizeProperty() |
Указывает, имеют ли ячейки этого элемента управления фиксированную высоту (заданного значения). |
final ObjectProperty |
focusModelProperty() |
Представляет текущий установленный TableView.TableViewFocusModel для этого TableView. |
static List |
getClassCssMetaData() |
Возвращает CssMetaData, связанное с этим классом, которое может включать CssMetaData его суперклассов. |
final Callback |
getColumnResizePolicy() |
Возвращает значение свойства columnResizePolicy. |
final ObservableList |
getColumns() |
TableColumn, которые являются частью этого TableView. |
final Comparator |
getComparator() |
Возвращает значение свойства comparator. |
List |
getControlCssMetaData() |
Возвращает неизменяемый список стилизуемых свойств элемента управления CSS. |
final TablePosition |
getEditingCell() |
Возвращает значение свойства editingCell. |
final double |
getFixedCellSize() |
Возвращает значение фиксированного размера ячейки. |
final TableView.TableViewFocusModel |
getFocusModel() |
Возвращает значение свойства focusModel. |
final ObservableList |
getItems() |
Возвращает значение свойства items. |
final EventHandler |
getOnScrollTo() |
Возвращает значение свойства onScrollTo. |
final EventHandler |
getOnScrollToColumn() |
Возвращает значение свойства onScrollToColumn. |
final EventHandler |
getOnSort() |
Возвращает значение свойства onSort. |
final Node |
getPlaceholder() |
Возвращает значение свойства placeholder. |
final Callback |
getRowFactory() |
Возвращает значение свойства rowFactory. |
final TableView.TableViewSelectionModel |
getSelectionModel() |
Возвращает значение свойства selectionModel. |
final ObservableList |
getSortOrder() |
Список sortOrder определяет порядок сортировки экземпляров TableColumn. |
final Callback |
getSortPolicy() |
Возвращает значение свойства sortPolicy. |
TableColumn |
getVisibleLeafColumn |
Возвращает TableColumn по заданному индексу столбца, относительно всех других видимых столбцов нижнего уровня. |
ObservableList |
getVisibleLeafColumns() |
Возвращает неизменяемый список, содержащий текущие видимые столбцы нижнего уровня. |
int |
getVisibleLeafIndex |
Возвращает позицию заданного столбца, относительно всех других видимых столбцов нижнего уровня. |
final boolean |
isEditable() |
Возвращает значение свойства editable. |
final boolean |
isTableMenuButtonVisible() |
Возвращает значение свойства tableMenuButtonVisible. |
final ObjectProperty |
itemsProperty() |
Базовая модель данных для TableView. |
final ObjectProperty |
onScrollToColumnProperty() |
Вызывается при запросе прокрутки столбца в область видимости с использованием scrollToColumn(TableColumn) или scrollToColumnIndex(int)
|
final ObjectProperty |
onScrollToProperty() |
Вызывается при запросе прокрутки индекса в область видимости с использованием scrollTo(int) или scrollTo(Object)
|
final ObjectProperty |
onSortProperty() |
Вызывается при запросе сортировки элемента управления. |
final ObjectProperty |
placeholderProperty() |
Этот узел отображается пользователю, когда в таблице нет данных для отображения. |
void |
refresh() |
Вызов refresh() заставляет элемент управления TableView пересоздать и перепополнить ячейки, необходимые для заполнения визуальных границ элемента управления. |
boolean |
resizeColumn |
Применяет текущую политику изменения размера к заданному столбцу, изменяя его размер на основе предоставленного значения delta. |
final ObjectProperty |
rowFactoryProperty() |
Функция, генерирующая TableRow. |
void |
scrollTo |
Прокручивает TableView так, чтобы заданный индекс был виден в области просмотра. |
void |
scrollTo |
Прокручивает TableView так, чтобы заданный объект был виден в области просмотра. |
void |
scrollToColumn |
Прокручивает TableView так, чтобы заданный столбец был виден в области просмотра. |
void |
scrollToColumnIndex |
Прокручивает TableView так, чтобы заданный индекс был виден в области просмотра. |
final ObjectProperty |
selectionModelProperty() |
SelectionModel предоставляет API, с помощью которого можно выделять один или несколько элементов в TableView, а также проверять, какие элементы были выделены пользователем. |
final void |
setColumnResizePolicy |
Устанавливает значение свойства columnResizePolicy. |
final void |
setEditable |
Устанавливает значение свойства editable. |
final void |
setFixedCellSize |
Устанавливает новый фиксированный размер ячейки для этого элемента управления. |
final void |
setFocusModel |
Устанавливает значение свойства focusModel. |
final void |
setItems |
Устанавливает значение свойства items. |
final void |
setOnScrollTo |
Устанавливает значение свойства onScrollTo. |
final void |
setOnScrollToColumn |
Устанавливает значение свойства onScrollToColumn. |
final void |
setOnSort |
Устанавливает значение свойства onSort. |
final void |
setPlaceholder |
Устанавливает значение свойства placeholder. |
final void |
setRowFactory |
Устанавливает значение свойства rowFactory. |
final void |
setSelectionModel |
Устанавливает значение свойства selectionModel. |
final void |
setSortPolicy |
Устанавливает значение свойства sortPolicy. |
final void |
setTableMenuButtonVisible |
Устанавливает значение свойства tableMenuButtonVisible. |
void |
sort() |
Метод sort вынуждает TableView повторно выполнить алгоритм сортировки. |
final ObjectProperty |
sortPolicyProperty() |
Политика сортировки определяет, как должна выполняться сортировка в этом TableView. |
final BooleanProperty |
tableMenuButtonVisibleProperty() |
Это управляет тем, доступна ли кнопка меню, когда пользователь щелкает в выделенном пространстве в TableView, в котором находится элемент радио-меню для каждой TableColumn в этой таблице. |
Методы, объявленные в классе javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, contextMenuProperty, createDefaultSkin, getContextMenu, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty
Методы, объявленные в классе javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computePrefHeight, computePrefWidth, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty
Методы, объявленные в классе javafx.scene.Parent
getBaselineOffset, getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, layoutChildren, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
Методы, объявленные в классе javafx.scene.Node
accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, focusVisibleProperty, focusWithinProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isFocusVisible, isFocusWithin, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookup, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, queryAccessibleAttribute, relocate, removeEventFilter, removeEventHandler, requestFocus, requestFocusTraversal, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе javafx.css.Styleable
getStyleableNode
Подробности свойства
items
public final ObjectProperty<ObservableList<S>> itemsProperty
- См. также:
tableMenuButtonVisible
public final BooleanProperty tableMenuButtonVisibleProperty
- См. также:
columnResizePolicy
public final ObjectProperty<Callback<TableView.ResizeFeatures,Boolean>> columnResizePolicyProperty
UNCONSTRAINED_RESIZE_POLICY и CONSTRAINED_RESIZE_POLICY.- См. также:
rowFactory
public final ObjectProperty<Callback<TableView<S>,TableRow<S>>> rowFactoryProperty
Обратите внимание, что TableRow — это не TableCell. TableRow — это просто контейнер для TableCell, и в большинстве случаев вам скорее захочется создать пользовательские TableCell, а не TableRow. Основной случай использования для создания пользовательских экземпляров TableRow, скорее всего, будет заключаться в поддержке размаха столбцов.
Вы можете создавать пользовательские экземпляры TableCell для каждого столбца, назначив соответствующую функцию свойству cellFactory в классе TableColumn.
- См. также:
placeholder
public final ObjectProperty<Node> placeholderProperty
- См. также:
selectionModel
public final ObjectProperty<TableView.TableViewSelectionModel<S>> selectionModelProperty
- См. также:
focusModel
public final ObjectProperty<TableView.TableViewFocusModel<S>> focusModelProperty
TableView.TableViewFocusModel для этого TableView. В подавляющем большинстве случаев достаточно оставить это значение по умолчанию.- См. также:
editable
public final BooleanProperty editableProperty
- См. также:
fixedCellSize
public final DoubleProperty fixedCellSizeProperty
Чтобы установить это свойство через CSS, используйте свойство -fx-fixed-cell-size. Не следует путать его со свойством -fx-cell-size. Разница между этими двумя CSS-свойствами заключается в том, что -fx-cell-size задаст размер всех ячеек до указанного размера, но не будет навязывать только этот размер (что позволит переменные размеры ячеек и предотвратит возможность повышения производительности). Поэтому, когда важна производительность, используйте -fx-fixed-cell-size вместо -fx-cell-size. Если оба свойства указаны в CSS, -fx-fixed-cell-size имеет приоритет.
- С:
- JavaFX 8.0
- См. также:
editingCell
public final ReadOnlyObjectProperty<TablePosition<S,?>> editingCellProperty
- См. также:
comparator
public final ReadOnlyObjectProperty<Comparator<S>> comparatorProperty
sort order. Список порядка сортировки содержит столбцы, которые были добавлены в него программно или путём нажатия пользователем на заголовки.- С:
- JavaFX 8.0
- См. также:
sortPolicy
public final ObjectProperty<Callback<TableView<S>,Boolean>> sortPolicyProperty
FXCollections.sort(tableView.getItems()), тогда как более продвинутая политика сортировки может вызвать базу данных для выполнения необходимой сортировки на стороне сервера. TableView поставляется с политикой сортировки default
sort policy, которая делает именно то, что указано выше: она просто пытается отсортировать список элементов на месте.
Рекомендуется не переопределять метод sort, а вместо этого предоставлять другую политику сортировки.
- С:
- JavaFX 8.0
- См. также:
onSort
public final ObjectProperty<EventHandler<SortEvent<TableView<S>>>> onSortProperty
- С:
- JavaFX 8.0
- См. также:
onScrollTo
public final ObjectProperty<EventHandler<ScrollToEvent<Integer>>> onScrollToProperty
scrollTo(int) или scrollTo(Object)
- С:
- JavaFX 8.0
- См. также:
onScrollToColumn
public final ObjectProperty<EventHandler<ScrollToEvent<TableColumn<S,?>>>> onScrollToColumnProperty
scrollToColumn(TableColumn) или scrollToColumnIndex(int).
- Since:
- JavaFX 8.0
- See Also:
Подробное описание полей
UNCONSTRAINED_RESIZE_POLICY
public static final Callback<TableView.ResizeFeatures,Boolean> UNCONSTRAINED_RESIZE_POLICY
Очень простая политика изменения размера, которая просто изменяет размер указанного столбца на заданный дельта и сдвигает все остальные столбцы (справа от данного столбца) дальше вправо (при положительном дельта) или влево (при отрицательном дельта).
Она также обрабатывает случай со вложенными столбцами, распределяя новое пространство или вычитая удаленное пространство равномерно между всеми непосредственными дочерними столбцами. Конечно, непосредственные дочерние элементы могут быть вложены, и они затем будут использовать эту политику для своих дочерних элементов.
CONSTRAINED_RESIZE_POLICY_ALL_COLUMNS
public static final Callback<TableView.ResizeFeatures,Boolean> CONSTRAINED_RESIZE_POLICY_ALL_COLUMNS
Если ограничения столбцов не позволяют разместить все столбцы в разрешенной области, столбцы либо обрезаются, либо появляется пустое место. Эта политика отключает горизонтальную полосу прокрутки.
- Since:
- 20
CONSTRAINED_RESIZE_POLICY_LAST_COLUMN
public static final Callback<TableView.ResizeFeatures,Boolean> CONSTRAINED_RESIZE_POLICY_LAST_COLUMN
Если ограничения столбцов не позволяют разместить все столбцы в разрешенной области, столбцы либо обрезаются, либо появляется пустое место. Эта политика отключает горизонтальную полосу прокрутки.
- Since:
- 20
CONSTRAINED_RESIZE_POLICY_NEXT_COLUMN
public static final Callback<TableView.ResizeFeatures,Boolean> CONSTRAINED_RESIZE_POLICY_NEXT_COLUMN
Если ограничения столбцов не позволяют разместить все столбцы в разрешенной области, столбцы либо обрезаются, либо появляется пустое место. Эта политика отключает горизонтальную полосу прокрутки.
- Since:
- 20
CONSTRAINED_RESIZE_POLICY_SUBSEQUENT_COLUMNS
public static final Callback<TableView.ResizeFeatures,Boolean> CONSTRAINED_RESIZE_POLICY_SUBSEQUENT_COLUMNS
Если ограничения столбцов не позволяют разместить все столбцы в разрешенной области, столбцы либо обрезаются, либо появляется пустое место. Эта политика отключает горизонтальную полосу прокрутки.
- Since:
- 20
CONSTRAINED_RESIZE_POLICY_FLEX_NEXT_COLUMN
public static final Callback<TableView.ResizeFeatures,Boolean> CONSTRAINED_RESIZE_POLICY_FLEX_NEXT_COLUMN
Если ограничения столбцов не позволяют разместить все столбцы в разрешенной области, столбцы либо обрезаются, либо появляется пустое место. Эта политика отключает горизонтальную полосу прокрутки.
- Since:
- 20
CONSTRAINED_RESIZE_POLICY_FLEX_LAST_COLUMN
public static final Callback<TableView.ResizeFeatures,Boolean> CONSTRAINED_RESIZE_POLICY_FLEX_LAST_COLUMN
Если ограничения столбцов не позволяют разместить все столбцы в разрешенной области, столбцы либо обрезаются, либо появляется пустое место. Эта политика отключает горизонтальную полосу прокрутки.
- Since:
- 20
CONSTRAINED_RESIZE_POLICY
@Deprecated(since="20") public static final Callback<TableView.ResizeFeatures,Boolean> CONSTRAINED_RESIZE_POLICY
CONSTRAINED_RESIZE_POLICY_FLEX_LAST_COLUMN вместо этого.Простая политика, которая гарантирует, что сумма ширины всех видимых лиственных столбцов в этой таблице равна ширине самой таблицы.
Когда пользователь изменяет ширину столбца с этой политикой, таблица автоматически корректирует ширину столбцов справа. Когда пользователь увеличивает ширину столбца, таблица уменьшает ширину правого столбца до минимальной ширины. Затем она уменьшает ширину второго правого столбца до минимальной ширины и так далее. Когда все столбцы справа достигают минимального размера, пользователь больше не может увеличить размер измененного столбца.
DEFAULT_SORT_POLICY
public static final Callback<TableView,Boolean> DEFAULT_SORT_POLICY
sort policy, который будет использоваться этим TableView, если не указана другая политика. Политика сортировки — это простая Callback, которая принимает TableView в качестве единственного аргумента и ожидает логическое значение, представляющее, удалась ли сортировка или нет. Логическое значение true обозначает успех, а значение false (или null) будет считаться неудачей.- Since:
- JavaFX 8.0
Подробное описание конструкторов
TableView
public TableView()
См. документацию класса TableView для получения информации о стандартном состоянии других свойств.
TableView
public TableView(ObservableList<S> items)
См. документацию класса TableView для получения информации о стандартном состоянии других свойств.
- Parameters:
-
items- Элементы для вставки в TableView, и список, за которым будет следить для изменений (чтобы автоматически отображаться в TableView).
Подробное описание методов
itemsProperty
public final ObjectProperty<ObservableList<S>> itemsProperty()
- Returns:
- свойство items
- See Also:
setItems
public final void setItems(ObservableList<S> value)
items.- Property description:
- Базовая модель данных для TableView. Обратите внимание, что у неё есть общий тип, который должен совпадать с типом самого TableView.
- Parameters:
-
value- значение для свойстваitems - See Also:
getItems
public final ObservableList<S> getItems()
items.- Property description:
- Базовая модель данных для TableView. Обратите внимание, что у неё есть общий тип, который должен совпадать с типом самого TableView.
- Returns:
- значение свойства
items - See Also:
tableMenuButtonVisibleProperty
public final BooleanProperty tableMenuButtonVisibleProperty()
- Returns:
- свойство tableMenuButtonVisible
- See Also:
setTableMenuButtonVisible
public final void setTableMenuButtonVisible(boolean value)
tableMenuButtonVisible.- Описание свойства:
- Управляет отображением кнопки меню, доступной при щелчке пользователем в выделенной области TableView, в которой расположены пункты радиоменю для каждого столбца таблицы. Это меню позволяет пользователю легко показывать и скрывать все столбцы таблицы.
- Параметры:
-
value- значение для свойстваtableMenuButtonVisible - См. также:
isTableMenuButtonVisible
public final boolean isTableMenuButtonVisible()
tableMenuButtonVisible.- Описание свойства:
- Управляет отображением кнопки меню, доступной при щелчке пользователем в выделенной области TableView, в которой расположены пункты радиоменю для каждого столбца таблицы. Это меню позволяет пользователю легко показывать и скрывать все столбцы таблицы.
- Возвращает:
- значение свойства
tableMenuButtonVisible - См. также:
setColumnResizePolicy
public final void setColumnResizePolicy(Callback<TableView.ResizeFeatures,Boolean> callback)
columnResizePolicy.- Описание свойства:
- Вызывается при завершении операции изменения размера столбца пользователем. Два наиболее распространённых метода доступны как статические функции в классе TableView:
UNCONSTRAINED_RESIZE_POLICYиCONSTRAINED_RESIZE_POLICY. - Параметры:
-
callback- значение для свойстваcolumnResizePolicy - См. также:
getColumnResizePolicy
public final Callback<TableView.ResizeFeatures,Boolean> getColumnResizePolicy()
columnResizePolicy.- Описание свойства:
- Вызывается при завершении операции изменения размера столбца пользователем. Два наиболее распространённых метода доступны как статические функции в классе TableView:
UNCONSTRAINED_RESIZE_POLICYиCONSTRAINED_RESIZE_POLICY. - Возвращает:
- значение свойства
columnResizePolicy - См. также:
columnResizePolicyProperty
public final ObjectProperty<Callback<TableView.ResizeFeatures,Boolean>> columnResizePolicyProperty()
UNCONSTRAINED_RESIZE_POLICY и CONSTRAINED_RESIZE_POLICY.- Возвращает:
- свойство columnResizePolicy
- См. также:
rowFactoryProperty
public final ObjectProperty<Callback<TableView<S>,TableRow<S>>> rowFactoryProperty()
Обратите внимание, что TableRow — это не TableCell. TableRow — это просто контейнер для TableCell, и в большинстве случаев скорее всего, вам захочется создать пользовательские TableCell, а не TableRow. Основной случай использования для создания пользовательских экземпляров TableRow, скорее всего, будет заключаться в добавлении поддержки размаха столбцов.
Вы можете создавать пользовательские экземпляры TableCell для каждого столбца, назначив соответствующую функцию свойству cellFactory в классе TableColumn.
- Возвращает:
- свойство rowFactory
- См. также:
setRowFactory
public final void setRowFactory(Callback<TableView<S>,TableRow<S>> value)
rowFactory.- Описание свойства:
- Функция, которая создаёт TableRow. Система отвечает за повторное использование TableRows. Возвращаемая функция TableRow, которая может быть использована для представления отдельной строки в TableView.
Обратите внимание, что TableRow — это не TableCell. TableRow — это просто контейнер для TableCell, и в большинстве случаев скорее всего, вам захочется создать пользовательские TableCell, а не TableRow. Основной случай использования для создания пользовательских экземпляров TableRow, скорее всего, будет заключаться в добавлении поддержки размаха столбцов.
Вы можете создавать пользовательские экземпляры TableCell для каждого столбца, назначив соответствующую функцию свойству cellFactory в классе TableColumn.
- Параметры:
-
value- значение для свойстваrowFactory - См. также:
getRowFactory
public final Callback<TableView<S>,TableRow<S>> getRowFactory()
rowFactory.- Описание свойства:
- Функция, которая создаёт TableRow. Система отвечает за повторное использование TableRows. Возвращаемая функция TableRow, которая может быть использована для представления отдельной строки в TableView.
Обратите внимание, что TableRow — это не TableCell. TableRow — это просто контейнер для TableCell, и в большинстве случаев скорее всего, вам захочется создать пользовательские TableCell, а не TableRow. Основной случай использования для создания пользовательских экземпляров TableRow, скорее всего, будет заключаться в добавлении поддержки размаха столбцов.
Вы можете создавать пользовательские экземпляры TableCell для каждого столбца, назначив соответствующую функцию свойству cellFactory в классе TableColumn.
- Возвращает:
- значение свойства
rowFactory - См. также:
placeholderProperty
public final ObjectProperty<Node> placeholderProperty()
- Возвращает:
- свойство placeholder
- См. также:
setPlaceholder
public final void setPlaceholder(Node value)
placeholder.- Описание свойства:
- Этот узел отображается пользователю, когда таблица не содержит данных для отображения. Это может произойти, потому что в модели таблицы нет данных, был применён фильтр к модели таблицы, в результате чего ничего не отображается пользователю, или потому что в настоящее время не отображаются столбцы.
- Параметры:
-
value- значение для свойстваplaceholder - См. также:
getPlaceholder
public final Node getPlaceholder()
placeholder.- Описание свойства:
- Этот узел отображается пользователю, когда таблица не содержит данных для отображения. Это может произойти, потому что в модели таблицы нет данных, был применён фильтр к модели таблицы, в результате чего ничего не отображается пользователю, или потому что в настоящее время не отображаются столбцы.
- Возвращает:
- значение свойства
placeholder - См. также:
selectionModelProperty
public final ObjectProperty<TableView.TableViewSelectionModel<S>> selectionModelProperty()
- Возвращает:
- свойство selectionModel
- См. также:
setSelectionModel
public final void setSelectionModel(TableView.TableViewSelectionModel<S> value)
selectionModel.- Описание свойства:
- SelectionModel предоставляет API для выбора одного или нескольких элементов в TableView, а также для проверки выбранных пользователем элементов. Обратите внимание, что он имеет общий тип, который должен соответствовать типу самого TableView.
- Параметры:
-
value- значение свойстваselectionModel - См. также:
getSelectionModel
public final TableView.TableViewSelectionModel<S> getSelectionModel()
selectionModel.- Описание свойства:
- SelectionModel предоставляет API для выбора одного или нескольких элементов в TableView, а также для проверки выбранных пользователем элементов. Обратите внимание, что он имеет общий тип, который должен соответствовать типу самого TableView.
- Возвращает:
- значение свойства
selectionModel - См. также:
setFocusModel
public final void setFocusModel(TableView.TableViewFocusModel<S> value)
focusModel.- Описание свойства:
- Представляет текущую установку
TableView.TableViewFocusModelдля данного TableView. В подавляющем большинстве случаев достаточно оставить значение по умолчанию. - Параметры:
-
value- значение свойстваfocusModel - См. также:
getFocusModel
public final TableView.TableViewFocusModel<S> getFocusModel()
focusModel.- Описание свойства:
- Представляет текущую установку
TableView.TableViewFocusModelдля данного TableView. В подавляющем большинстве случаев достаточно оставить значение по умолчанию. - Возвращает:
- значение свойства
focusModel - См. также:
focusModelProperty
public final ObjectProperty<TableView.TableViewFocusModel<S>> focusModelProperty()
TableView.TableViewFocusModel для данного TableView. В подавляющем большинстве случаев достаточно оставить значение по умолчанию.- Возвращает:
- свойство focusModel
- См. также:
setEditable
public final void setEditable(boolean value)
editable.- Описание свойства:
- Указывает, является ли TableView редактируемым. Ячейка TableCell может перейти в режим редактирования только в том случае, если TableView, TableColumn (применимо) и TableCells внутри неё также являются редактируемыми.
- Параметры:
-
value- значение свойстваeditable - См. также:
isEditable
public final boolean isEditable()
editable.- Описание свойства:
- Указывает, является ли TableView редактируемым. Ячейка TableCell может перейти в режим редактирования только в том случае, если TableView, TableColumn (применимо) и TableCells внутри неё также являются редактируемыми.
- Возвращает:
- значение свойства
editable - См. также:
editableProperty
public final BooleanProperty editableProperty()
- Возвращает:
- свойство editable
- См. также:
setFixedCellSize
public final void setFixedCellSize(double value)
- Параметры:
-
value- Новое значение фиксированного размера ячейки или значение меньше или равно нулю (или Region.USE_COMPUTED_SIZE) для отключения. - С:
- JavaFX 8.0
getFixedCellSize
public final double getFixedCellSize()
- Возвращает:
- Число с плавающей точкой, представляющее фиксированный размер ячейки этого элемента управления, или значение меньше или равно нулю, если режим фиксированного размера ячейки отключен.
- С:
- JavaFX 8.0
fixedCellSizeProperty
public final DoubleProperty fixedCellSizeProperty()
Чтобы установить это свойство через CSS, используйте свойство -fx-fixed-cell-size. Это не следует путать со свойством -fx-cell-size. Разница между этими двумя свойствами CSS заключается в том, что -fx-cell-size задаст размер всех ячеек до указанного значения, но не будет принудительно задавать только этот размер (поэтому допускаются переменные размеры ячеек и предотвращается возможность повышения производительности). Поэтому, когда важна производительность, используйте -fx-fixed-cell-size вместо -fx-cell-size. Если оба свойства указаны в CSS, -fx-fixed-cell-size имеет приоритет.
- Возвращает:
- свойство fixedCellSize
- С:
- JavaFX 8.0
- См. также:
getEditingCell
public final TablePosition<S,?> getEditingCell()
editingCell.- Описание свойства:
- Представляет текущую редактируемую ячейку или null, если никакая ячейка не редактируется.
- Возвращает:
- значение свойства
editingCell - См. также:
editingCellProperty
public final ReadOnlyObjectProperty<TablePosition<S,?>> editingCellProperty()
- Возвращает:
- свойство editingCell
- См. также:
getComparator
public final Comparator<S> getComparator()
comparator.- Описание свойства:
- Свойство comparator — это свойство только для чтения, которое представляет текущее состояние списка
sort order. Список sortOrder содержит столбцы, которые были добавлены в него программно или пользователем при нажатии на заголовки. - Возвращает:
- значение свойства
comparator - С:
- JavaFX 8.0
- См. также:
свойство comparator
public final ReadOnlyObjectProperty<Comparator<S>> comparatorProperty()
sort order. Список порядка сортировки содержит столбцы, которые были добавлены в него программно или пользователем при щелчке по заголовкам.- Возвращает:
- свойство
comparator - С момента:
- JavaFX 8.0
- См. также:
setSortPolicy
public final void setSortPolicy(Callback<TableView<S>,Boolean> callback)
sortPolicy.- Описание свойства:
- Политика сортировки определяет, как должна выполняться сортировка в данном TableView. Например, базовая политика сортировки может просто вызвать
FXCollections.sort(tableView.getItems()), тогда как более продвинутая политика сортировки может обратиться к базе данных для выполнения необходимой сортировки на стороне сервера.TableView поставляется с политикой сортировки
default sort policy, которая выполняет именно то, что описано выше: она просто пытается отсортировать список элементов на месте.Рекомендуется, вместо переопределения метода
sort, использовать другую политику сортировки. - Параметры:
-
callback- значение свойстваsortPolicy - С момента:
- JavaFX 8.0
- См. также:
getSortPolicy
public final Callback<TableView<S>,Boolean> getSortPolicy()
sortPolicy.- Описание свойства:
- Политика сортировки определяет, как должна выполняться сортировка в данном TableView. Например, базовая политика сортировки может просто вызвать
FXCollections.sort(tableView.getItems()), тогда как более продвинутая политика сортировки может обратиться к базе данных для выполнения необходимой сортировки на стороне сервера.TableView поставляется с политикой сортировки
default sort policy, которая выполняет именно то, что описано выше: она просто пытается отсортировать список элементов на месте.Рекомендуется, вместо переопределения метода
sort, использовать другую политику сортировки. - Возвращает:
- значение свойства
sortPolicy - С момента:
- JavaFX 8.0
- См. также:
свойство sortPolicy
public final ObjectProperty<Callback<TableView<S>,Boolean>> sortPolicyProperty()
FXCollections.sort(tableView.getItems()), тогда как более продвинутая политика сортировки может обратиться к базе данных для выполнения необходимой сортировки на стороне сервера. TableView поставляется с политикой сортировки default
sort policy, которая выполняет именно то, что описано выше: она просто пытается отсортировать список элементов на месте.
Рекомендуется, вместо переопределения метода sort, использовать другую политику сортировки.
- Возвращает:
- свойство
sortPolicy - С момента:
- JavaFX 8.0
- См. также:
setOnSort
public final void setOnSort(EventHandler<SortEvent<TableView<S>>> value)
onSort.- Описание свойства:
- Вызывается при запросе сортировки элемента управления.
- Параметры:
-
value- значение свойстваonSort - С момента:
- JavaFX 8.0
- См. также:
getOnSort
public final EventHandler<SortEvent<TableView<S>>> getOnSort()
onSort.- Описание свойства:
- Вызывается при запросе сортировки элемента управления.
- Возвращает:
- значение свойства
onSort - С момента:
- JavaFX 8.0
- См. также:
свойство onSort
public final ObjectProperty<EventHandler<SortEvent<TableView<S>>>> onSortProperty()
- Возвращает:
- свойство
onSort - С момента:
- JavaFX 8.0
- См. также:
getColumns
public final ObservableList<TableColumn<S,?>> getColumns()
Примечание: для отображения данных в TableView должен быть хотя бы один TableColumn в этом списке ObservableList.
- Возвращает:
- столбцы
getSortOrder
public final ObservableList<TableColumn<S,?>> getSortOrder()
TableColumn. Пустой список sortOrder означает, что сортировка TableView не применяется. Если список sortOrder содержит один TableColumn, TableView будет отсортирован по свойствам sortType и comparator этого TableColumn (при условии, что TableColumn.sortable имеет значение true). Если список sortOrder содержит несколько TableColumn, то TableView сортируется сначала по свойствам первого TableColumn. Если два элемента считаются равными, то для определения порядка используется второй TableColumn в списке. Это повторяется до тех пор, пока не будут рассмотрены все сравнения TableColumn, если это необходимо.- Возвращает:
- ObservableList, содержащий ноль или более элементов TableColumn.
scrollTo
public void scrollTo(int index)
- Параметры:
-
index- Индекс элемента, который должен быть виден пользователю.
scrollTo
public void scrollTo(S object)
- Параметры:
-
object- Объект, который должен быть виден пользователю. - С момента:
- JavaFX 8.0
setOnScrollTo
public final void setOnScrollTo(EventHandler<ScrollToEvent<Integer>> value)
onScrollTo.- Описание свойства:
- Вызывается при запросе прокрутки индекса в область видимости с помощью
scrollTo(int)илиscrollTo(Object) - Параметры:
-
value- значение свойстваonScrollTo - С момента:
- JavaFX 8.0
- См. также:
getOnScrollTo
public final EventHandler<ScrollToEvent<Integer>> getOnScrollTo()
onScrollTo.- Описание свойства:
- Вызывается при запросе прокрутки индекса в область видимости с помощью
scrollTo(int)илиscrollTo(Object) - Возвращает:
- значение свойства
onScrollTo - С момента:
- JavaFX 8.0
- См. также:
свойство onScrollTo
public final ObjectProperty<EventHandler<ScrollToEvent<Integer>>> onScrollToProperty()
scrollTo(int) или scrollTo(Object)
- Возвращает:
- свойство
onScrollTo - С момента:
- JavaFX 8.0
- См. также:
scrollToColumn
public void scrollToColumn(TableColumn<S,?> column)
- Параметры:
-
column- Столбец, который должен быть виден пользователю. - С момента:
- JavaFX 8.0
scrollToColumnIndex
public void scrollToColumnIndex(int columnIndex)
- Параметры:
-
columnIndex- Индекс столбца, который должен быть виден пользователю. - С:
- JavaFX 8.0
setOnScrollToColumn
public final void setOnScrollToColumn(EventHandler<ScrollToEvent<TableColumn<S,?>>> value)
onScrollToColumn.- Описание свойства:
- Вызывается при запросе прокрутки столбца в область видимости с помощью
scrollToColumn(TableColumn)илиscrollToColumnIndex(int) - Параметры:
-
value- значение свойстваonScrollToColumn - С:
- JavaFX 8.0
- См. также:
getOnScrollToColumn
public final EventHandler<ScrollToEvent<TableColumn<S,?>>> getOnScrollToColumn()
onScrollToColumn.- Описание свойства:
- Вызывается при запросе прокрутки столбца в область видимости с помощью
scrollToColumn(TableColumn)илиscrollToColumnIndex(int) - Возвращает:
- значение свойства
onScrollToColumn - С:
- JavaFX 8.0
- См. также:
onScrollToColumnProperty
public final ObjectProperty<EventHandler<ScrollToEvent<TableColumn<S,?>>>> onScrollToColumnProperty()
scrollToColumn(TableColumn) или scrollToColumnIndex(int)
- Возвращает:
- свойство
onScrollToColumn - С:
- JavaFX 8.0
- См. также:
resizeColumn
public boolean resizeColumn(TableColumn<S,?> column, double delta)
- Параметры:
-
column- столбец -
delta- дельта - Возвращает:
- true, если изменение размера столбца разрешено
edit
public void edit(int row, TableColumn<S,?> column)
Примечание: Этот метод отменит редактирование, если значение строки меньше нуля, а столбец равен null.
- Параметры:
-
row- строка -
column- столбец
getVisibleLeafColumns
public ObservableList<TableColumn<S,?>> getVisibleLeafColumns()
- Возвращает:
- неизменяемый список, содержащий видимые листы столбцов
getVisibleLeafIndex
public int getVisibleLeafIndex(TableColumn<S,?> column)
- Параметры:
-
column- столбец - Возвращает:
- позиция заданного столбца относительно всех остальных видимых столбцов-листов
getVisibleLeafColumn
public TableColumn<S,?> getVisibleLeafColumn(int column)
- Параметры:
-
column- индекс столбца - Возвращает:
- TableColumn в заданном индексе столбца, относительно всех остальных видимых столбцов-листов
sort
public void sort()
sort order, sort policy или состояния TableColumn sort type. Другими словами, этот метод следует вызывать напрямую только тогда, когда что-то внешнее изменяется и требуется сортировка.- С:
- JavaFX 8.0
refresh
public void refresh()
refresh() заставляет элемент управления TableView пересоздать и повторно заполнить ячейки, необходимые для заполнения визуальных границ элемента управления. Другими словами, это заставляет TableView обновить то, что отображается пользователю. Это полезно в тех случаях, когда базовый источник данных изменился таким образом, что TableView не заметила этого.- С:
- JavaFX 8u60
getClassCssMetaData
public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
CssMetaData, связанные с этим классом, что может включать CssMetaData его суперклассов.- Возвращает:
CssMetaData- С:
- JavaFX 8.0
getControlCssMetaData
public List<CssMetaData<? extends Styleable,?>> getControlCssMetaData()
- Переопределяет:
-
getControlCssMetaDataв классеControl - Возвращает:
- неизменяемый список стилизуемых свойств элемента управления CSS
- С:
- JavaFX 8.0
© 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.
CONSTRAINED_RESIZE_POLICY_FLEX_LAST_COLUMNвместо этого.