Spec-Zone.ru › OpenJavaFX 17

Класс TableView<S>

java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.control.Control
javafx.scene.control.TableView<S>
Type Parameters:
S - Тип объектов, содержащихся в списке элементов TableView.
Все реализуемые интерфейсы:
Styleable, EventTarget, Skinnable
@DefaultProperty("items")
public class TableView<S>
extends Control
Управление TableView предназначено для визуализации неограниченного числа строк данных, разбитых на столбцы. Поэтому TableView очень похож на элемент управления 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);
Image of the TableView control

С помощью показанного выше кода мы полностью определили минимальные свойства, необходимые для создания экземпляра 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());

APIs выбора/фокуса 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, и в большинстве случаев вы скорее захотите создать пользовательские TableCells, а не TableRows. Основной случай использования для создания пользовательских экземпляров TableRow, скорее всего, будет заключаться в поддержке какого-либо вида объединения столбцов.

Вы можете создавать пользовательские экземпляры TableCell для каждого столбца, назначив соответствующую функцию свойству cell factory TableColumn.

См. документацию класса Cell для более подробного описания способа написания пользовательских ячеек.

Сортировка

До JavaFX 8.0 элемент управления TableView обрабатывал список items как модель представления, что означало, что любые изменения в списке немедленно отражались визуально. TableView также изменял порядок этого списка непосредственно при инициировании сортировки пользователем. Это означало (опять же, до JavaFX 8.0), что TableView не мог вернуться в несортированное состояние (после итерации по возрастающим и убывающим порядкам).

Начиная с JavaFX 8.0 (и введением SortedList) теперь можно заставить коллекцию вернуться в несортированное состояние, когда столбцов в TableView sort order нет. Для этого необходимо создать экземпляр SortedList и привязать свойство comparator к свойству comparator TableView, список так:

 // 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(), чтобы вернуть пользовательский интерфейс в исходное визуальное состояние при завершении редактирования. В обоих случаях важно убедиться, что вы вызываете родительский метод, чтобы ячейка выполняла все свои обязанности при входе или выходе из режима редактирования.

После того, как ваша ячейка находится в режиме редактирования, следующим, что вас, скорее всего, интересует, — как подтвердить или отменить выполняемое редактирование. Это ваша ответственность как поставщика фабрики ячеек. Ваша реализация ячейки будет знать, когда редактирование завершено, на основе пользовательского ввода (например, когда пользователь нажимает клавиши 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, то вы удалите обработчик по умолчанию. Если вы затем не обработаете запись в свойство (или соответствующий источник данных), ничего не произойдёт. Вы можете обойти это, используя метод TableColumnBase.addEventHandler(javafx.event.EventType, javafx.event.EventHandler) для добавления события TableColumn.editCommitEvent() EventType с желаемым обработчиком событий EventHandler в качестве второго аргумента. Используя этот метод, вы не замените реализацию по умолчанию, но получите уведомление о событии подтверждения редактирования.

Надеюсь, этот обзор ответит на некоторые часто задаваемые вопросы. К счастью, JavaFX поставляется с рядом предварительно созданных фабрик ячеек, которые обрабатывают все требования к редактированию от вашего имени. Вы можете найти эти предварительно созданные фабрики ячеек в пакете javafx.scene.control.cell.

Since:
JavaFX 2.0
See Also:
TableColumn, TablePosition

Краткое описание свойств

Свойства
Тип Свойство Описание
ObjectProperty<Callback<TableView.ResizeFeatures,​Boolean>> columnResizePolicy
Вызывается при завершении операции изменения размера колонки.
ReadOnlyObjectProperty<Comparator<S>> comparator
Свойство компаратора — это свойство только для чтения, которое отражает текущее состояние списка sort order.
BooleanProperty editable
Указывает, является ли этот TableView редактируемым — ячейка TableCell сможет перейти в состояние редактирования только в том случае, если TableView, столбец TableColumn (если применимо) и ячейки TableCells внутри него также являются редактируемыми.
ReadOnlyObjectProperty<TablePosition<S,​?>> editingCell
Представляет текущую редактируемую ячейку или null, если ячейка не редактируется.
DoubleProperty fixedCellSize
Указывает, имеют ли ячейки этого элемента управления фиксированную высоту (указанного значения).
ObjectProperty<TableView.TableViewFocusModel<S>> focusModel
Представляет текущий установленный TableView.TableViewFocusModel для этого TableView.
ObjectProperty<ObservableList<S>> items
Базовая модель данных для TableView.
ObjectProperty<EventHandler<ScrollToEvent<TableColumn<S,​?>>>> onScrollToColumn
Вызывается при запросе прокрутки столбца в область видимости с помощью scrollToColumn(TableColumn) или scrollToColumnIndex(int)
ObjectProperty<EventHandler<ScrollToEvent<Integer>>> onScrollTo
Вызывается при запросе прокрутки индекса в область видимости с помощью scrollTo(int) или scrollTo(Object)
ObjectProperty<EventHandler<SortEvent<TableView<S>>>> onSort
Вызывается при запросе сортировки элемента управления.
ObjectProperty<Node> placeholder
Этот узел отображается пользователю, когда таблица не содержит данных для отображения.
ObjectProperty<Callback<TableView<S>,​TableRow<S>>> rowFactory
Функция, которая создает TableRow.
ObjectProperty<TableView.TableViewSelectionModel<S>> selectionModel
SelectionModel предоставляет API, с помощью которого можно выбрать одну или несколько элементов в TableView, а также проверить, какие элементы выбраны пользователем.
ObjectProperty<Callback<TableView<S>,​Boolean>> sortPolicy
Политика сортировки определяет, как должна выполняться сортировка в этом TableView.
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, 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 class  TableView.ResizeFeatures<S>
Неизменяемый класс-обёртка, используемый в функциональности TableView column resize.
static class  TableView.TableViewFocusModel<S>
A FocusModel с дополнительной функциональностью для поддержки требований элемента управления TableView.
static class  TableView.TableViewSelectionModel<S>
Простая надстройка над абстрактным классом SelectionModel для специальной поддержки элементов управления TableView.

Краткое описание полей

Поля
Модификатор и тип Поле Описание
static Callback<TableView.ResizeFeatures,​Boolean> CONSTRAINED_RESIZE_POLICY
Простая политика, которая гарантирует, что сумма ширин всех видимых листов столбцов в этой таблице равна ширине самой таблицы.
static Callback<TableView,​Boolean> DEFAULT_SORT_POLICY
По умолчанию sort policy, который будет использовать этот TableView, если не указана иная политика.
static Callback<TableView.ResizeFeatures,​Boolean> UNCONSTRAINED_RESIZE_POLICY
Очень простая политика изменения размера, которая просто изменяет размер указанного столбца на предоставленный дельта и сдвигает все другие столбцы (справа от заданного столбца) дальше вправо (если дельта положительная) или влево (если дельта отрицательная).

Поля, объявленные в классе javafx.scene.layout.Region

USE_COMPUTED_SIZE, USE_PREF_SIZE

Поля, объявленные в классе javafx.scene.Node

BASELINE_OFFSET_SAME_AS_HEIGHT

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

Конструкторы
Конструктор Описание
TableView()
Создаёт элемент управления TableView по умолчанию без содержимого.
TableView​(ObservableList<S> items)
Создаёт TableView с содержимым, предоставленным в ObservableList элементов.

Краткое описание методов

Модификатор и тип Метод Описание
END_OF_DOCUMENT_MARKER
ObjectProperty<Callback<TableView.ResizeFeatures,​Boolean>> columnResizePolicyProperty()
Вызывается при завершении операции изменения размера колонки.
ReadOnlyObjectProperty<Comparator<S>> comparatorProperty()
Свойство comparator — это свойство только для чтения, которое отражает текущее состояние списка sort order.
void edit​(int row, TableColumn<S,​?> column)
Приводит ячейку по заданным индексам строки/столбца к состоянию редактирования, если оно ещё не установлено, при условии, что TableView и колонка также разрешают редактирование.
BooleanProperty editableProperty()
Указывает, разрешает ли редактирование данный TableView — только если TableView, TableColumn (применимо) и TableCells внутри него разрешают редактирование, TableCell сможет перейти в состояние редактирования.
ReadOnlyObjectProperty<TablePosition<S,​?>> editingCellProperty()
Представляет текущую редактируемую ячейку или null, если ячейка не редактируется.
DoubleProperty fixedCellSizeProperty()
Указывает, имеют ли ячейки этого элемента фиксированный размер высоты (заданного значения).
ObjectProperty<TableView.TableViewFocusModel<S>> focusModelProperty()
Представляет текущий установленный TableView.TableViewFocusModel для этого TableView.
static List<CssMetaData<? extends Styleable,​?>> getClassCssMetaData()
Callback<TableView.ResizeFeatures,​Boolean> getColumnResizePolicy()
Возвращает значение свойства columnResizePolicy.
ObservableList<TableColumn<S,​?>> getColumns()
Столбцы TableColumn, которые являются частью этого TableView.
Comparator<S> getComparator()
Возвращает значение свойства comparator.
List<CssMetaData<? extends Styleable,​?>> getControlCssMetaData()
TablePosition<S,​?> getEditingCell()
Возвращает значение свойства editingCell.
double getFixedCellSize()
Возвращает значение фиксированного размера ячейки.
TableView.TableViewFocusModel<S> getFocusModel()
Возвращает значение свойства focusModel.
ObservableList<S> getItems()
Возвращает значение свойства items.
EventHandler<ScrollToEvent<Integer>> getOnScrollTo()
Возвращает значение свойства onScrollTo.
EventHandler<ScrollToEvent<TableColumn<S,​?>>> getOnScrollToColumn()
Возвращает значение свойства onScrollToColumn.
EventHandler<SortEvent<TableView<S>>> getOnSort()
Возвращает значение свойства onSort.
Node getPlaceholder()
Возвращает значение свойства placeholder.
Callback<TableView<S>,​TableRow<S>> getRowFactory()
Возвращает значение свойства rowFactory.
TableView.TableViewSelectionModel<S> getSelectionModel()
Возвращает значение свойства selectionModel.
ObservableList<TableColumn<S,​?>> getSortOrder()
Список sortOrder определяет порядок, в котором сортируются экземпляры TableColumn.
Callback<TableView<S>,​Boolean> getSortPolicy()
Возвращает значение свойства sortPolicy.
TableColumn<S,​?> getVisibleLeafColumn​(int column)
Возвращает TableColumn в данном индексе столбца, относительно всех других видимых листовых столбцов.
ObservableList<TableColumn<S,​?>> getVisibleLeafColumns()
Возвращает неизменяемый список, содержащий текущие видимые листовые столбцы.
int getVisibleLeafIndex​(TableColumn<S,​?> column)
Возвращает позицию данного столбца, относительно всех других видимых листовых столбцов.
boolean isEditable()
Возвращает значение свойства editable.
boolean isTableMenuButtonVisible()
Возвращает значение свойства tableMenuButtonVisible.
ObjectProperty<ObservableList<S>> itemsProperty()
Базовая модель данных для TableView.
ObjectProperty<EventHandler<ScrollToEvent<TableColumn<S,​?>>>> onScrollToColumnProperty()
Вызывается при запросе прокрутки колонки в область просмотра с помощью scrollToColumn(TableColumn) или scrollToColumnIndex(int)
ObjectProperty<EventHandler<ScrollToEvent<Integer>>> onScrollToProperty()
Вызывается при запросе прокрутки индекса в область просмотра с помощью scrollTo(int) или scrollTo(Object)
ObjectProperty<EventHandler<SortEvent<TableView<S>>>> onSortProperty()
Вызывается при запросе сортировки элемента управления.
ObjectProperty<Node> placeholderProperty()
Этот узел отображается пользователю, когда таблица не содержит данных для отображения.
void refresh()
Вызов refresh() заставляет элемент управления TableView пересоздать и перепопулировать ячейки, необходимые для заполнения визуальных границ элемента управления.
boolean resizeColumn​(TableColumn<S,​?> column, double delta)
Применяет текущую политику изменения размера к заданному столбцу, изменяя его размер на основе предоставленного значения delta.
ObjectProperty<Callback<TableView<S>,​TableRow<S>>> rowFactoryProperty()
Функция, генерирующая TableRow.
void scrollTo​(int index)
Прокручивает TableView таким образом, что заданный индекс становится видимым в области просмотра.
void scrollTo​(S object)
Прокручивает TableView таким образом, что заданный объект становится видимым в области просмотра.
void scrollToColumn​(TableColumn<S,​?> column)
Прокручивает TableView таким образом, что заданный столбец становится видимым в области просмотра.
void scrollToColumnIndex​(int columnIndex)
Прокручивает TableView так, чтобы заданный индекс был виден в области просмотра.
ObjectProperty<TableView.TableViewSelectionModel<S>> selectionModelProperty()
Модель выбора SelectionModel предоставляет API, с помощью которого можно выбирать один или несколько элементов в TableView, а также проверять, какие элементы были выбраны пользователем.
void setColumnResizePolicy​(Callback<TableView.ResizeFeatures,​Boolean> callback)
Устанавливает значение свойства columnResizePolicy.
void setEditable​(boolean value)
Устанавливает значение свойства editable.
void setFixedCellSize​(double value)
Устанавливает новый фиксированный размер ячейки для данного элемента управления.
void setFocusModel​(TableView.TableViewFocusModel<S> value)
Устанавливает значение свойства focusModel.
void setItems​(ObservableList<S> value)
Устанавливает значение свойства items.
void setOnScrollTo​(EventHandler<ScrollToEvent<Integer>> value)
Устанавливает значение свойства onScrollTo.
void setOnScrollToColumn​(EventHandler<ScrollToEvent<TableColumn<S,​?>>> value)
Устанавливает значение свойства onScrollToColumn.
void setOnSort​(EventHandler<SortEvent<TableView<S>>> value)
Устанавливает значение свойства onSort.
void setPlaceholder​(Node value)
Устанавливает значение свойства placeholder.
void setRowFactory​(Callback<TableView<S>,​TableRow<S>> value)
Устанавливает значение свойства rowFactory.
void setSelectionModel​(TableView.TableViewSelectionModel<S> value)
Устанавливает значение свойства selectionModel.
void setSortPolicy​(Callback<TableView<S>,​Boolean> callback)
Устанавливает значение свойства sortPolicy.
void setTableMenuButtonVisible​(boolean value)
Устанавливает значение свойства tableMenuButtonVisible.
void sort()
Метод сортировки принудительно перевыполняет алгоритм сортировки TableView.
ObjectProperty<Callback<TableView<S>,​Boolean>> sortPolicyProperty()
Политика сортировки определяет, как должна выполняться сортировка в этом TableView.
BooleanProperty tableMenuButtonVisibleProperty()
Это управляет тем, доступна ли кнопка меню, когда пользователь щелкает в выделенной области в TableView, в которой находится элемент радио-меню для каждой TableColumn в этой таблице.

Методы, объявленные в классе javafx.scene.control.Control

computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, contextMenuProperty, createDefaultSkin, getContextMenu, getCssMetaData, getInitialFocusTraversable, getTooltip, isResizable, setContextMenu, 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, 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, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, 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, 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.scene.control.Skinnable

getSkin, setSkin

Методы, объявленные в интерфейсе javafx.css.Styleable

getStyleableNode, getStyleClass

Подробности свойства

items

public final ObjectProperty<ObservableList<S>> itemsProperty
Основная модель данных для TableView. Обратите внимание, что она имеет общий тип, который должен совпадать с типом самого TableView.
См. также:
getItems(), setItems(ObservableList)

tableMenuButtonVisible

public final BooleanProperty tableMenuButtonVisibleProperty
Это параметр, который определяет, доступна ли кнопка меню, когда пользователь нажимает в выделенной области TableView, в которой есть пункт меню "radio" для каждой TableColumn в этой таблице. Это меню позволяет пользователю легко показывать и скрывать все TableColumn.
См. также:
isTableMenuButtonVisible(), setTableMenuButtonVisible(boolean)

columnResizePolicy

public final ObjectProperty<Callback<TableView.ResizeFeatures,Boolean>> columnResizePolicyProperty
Вызывается при завершении операции изменения размера столбца. Два наиболее распространённых варианта доступны как статические функции в классе TableView: UNCONSTRAINED_RESIZE_POLICY и CONSTRAINED_RESIZE_POLICY.
См. также:
getColumnResizePolicy(), setColumnResizePolicy(Callback)

rowFactory

public final ObjectProperty<Callback<TableView<S>,TableRow<S>>> rowFactoryProperty
Функция, которая создаёт TableRow. Система отвечает за повторное использование TableRow. В результате выполнения этой функции возвращается TableRow, который может быть использован для представления одной строки в TableView.

Обратите внимание, что TableRow — это не TableCell. TableRow — это просто контейнер для TableCell, и в большинстве случаев вы, скорее всего, захотите создать пользовательские TableCell, а не TableRow. Основной случай использования для создания пользовательских экземпляров TableRow, вероятно, будет связан с поддержкой разворота столбцов.

Вы можете создать пользовательские экземпляры TableCell для каждого столбца, назначив соответствующую функцию свойству cellFactory в классе TableColumn.

См. также:
getRowFactory(), setRowFactory(Callback)

placeholder

public final ObjectProperty<Node> placeholderProperty
Этот узел отображается пользователю, когда таблица не содержит данных для отображения. Это может быть связано с тем, что у модели таблицы нет данных в первую очередь, что фильтр был применён к модели таблицы, в результате чего пользователю ничего не отображается, или что в данный момент нет видимых столбцов.
См. также:
getPlaceholder(), setPlaceholder(Node)

selectionModel

public final ObjectProperty<TableView.TableViewSelectionModel<S>> selectionModelProperty
SelectionModel предоставляет API, с помощью которого можно выбирать отдельные или несколько элементов в TableView, а также проверять, какие элементы были выбраны пользователем. Обратите внимание, что она имеет общий тип, который должен соответствовать типу самого TableView.
См. также:
getSelectionModel(), setSelectionModel(TableView.TableViewSelectionModel)

focusModel

public final ObjectProperty<TableView.TableViewFocusModel<S>> focusModelProperty
Представляет текущую установленную TableView.TableViewFocusModel для этого TableView. В почти всех случаях достаточно оставить это значение по умолчанию.
См. также:
getFocusModel(), setFocusModel(TableView.TableViewFocusModel)

editable

public final BooleanProperty editableProperty
Определяет, является ли TableView редактируемым — только если TableView, TableColumn (если применимо) и TableCell внутри него редактируемы, TableCell сможет перейти в состояние редактирования.
См. также:
isEditable(), setEditable(boolean)

fixedCellSize

public final DoubleProperty fixedCellSizeProperty
Определяет, имеют ли ячейки этого элемента фиксированную высоту (указанного значения). Если это значение меньше или равно нулю, все ячейки имеют индивидуальные размеры и позиции. Это медленная операция. Поэтому, когда важна производительность, а разработчики не зависят от переменных размеров ячеек, рекомендуется установить значение фиксированного размера ячейки. Обычно ячейки имеют размер около 24 пикселей, поэтому установка фиксированного размера ячейки в 24 пикселя, скорее всего, практически не повлияет на визуальное отображение, но улучшит производительность.

Для установки этого свойства через 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
См. также:
getFixedCellSize(), setFixedCellSize(double)

editingCell

public final ReadOnlyObjectProperty<TablePosition<S,?>> editingCellProperty
Представляет текущую редактируемую ячейку или null, если нет редактируемой ячейки.
См. также:
getEditingCell()

comparator

public final ReadOnlyObjectProperty<Comparator<S>> comparatorProperty
Свойство comparator — это только для чтения свойство, которое представляет текущее состояние списка sort order. Список порядка сортировки содержит столбцы, которые были добавлены в него программно или путём нажатия пользователем на заголовки.
С:
JavaFX 8.0
См. также:
getComparator()

sortPolicy

public final ObjectProperty<Callback<TableView<S>,Boolean>> sortPolicyProperty
Политика сортировки определяет, как должна выполняться сортировка в этом TableView. Например, базовая политика сортировки может просто вызвать FXCollections.sort(tableView.getItems()), а более продвинутая политика сортировки может обратиться к базе данных для выполнения необходимой сортировки на стороне сервера.

TableView поставляется с политикой сортировки default sort policy, которая выполняет именно то, о чём говорилось выше: она просто пытается отсортировать список элементов на месте.

Рекомендуется не переопределять метод sort, а вместо этого предоставить другую политику сортировки.

С:
JavaFX 8.0
См. также:
getSortPolicy(), setSortPolicy(Callback)

onSort

public ObjectProperty<EventHandler<SortEvent<TableView<S>>>> onSortProperty
Вызывается при запросе сортировки элемента управления.
С:
JavaFX 8.0
См. также:
getOnSort(), setOnSort(EventHandler)

onScrollTo

public ObjectProperty<EventHandler<ScrollToEvent<Integer>>> onScrollToProperty
Вызывается при запросе прокрутки индекса в область видимости с помощью scrollTo(int) или scrollTo(Object)
С:
JavaFX 8.0
См. также:
getOnScrollTo(), setOnScrollTo(EventHandler)

onScrollToColumn

public ObjectProperty<EventHandler<ScrollToEvent<TableColumn<S,?>>>> onScrollToColumnProperty
Вызывается при запросе прокрутки столбца в область видимости с помощью scrollToColumn(TableColumn) или scrollToColumnIndex(int)
С:
JavaFX 8.0
См. также:
getOnScrollToColumn(), setOnScrollToColumn(EventHandler)

Подробности поля

UNCONSTRAINED_RESIZE_POLICY

public static final Callback<TableView.ResizeFeatures,Boolean> UNCONSTRAINED_RESIZE_POLICY

Очень простая политика изменения размера, которая просто изменяет размер указанного столбца на заданный дельту и сдвигает все другие столбцы (справа от данного столбца) дальше вправо (когда дельта положительна) или влево (когда дельта отрицательна).

Она также обрабатывает случай вложенных столбцов, распределяя новое пространство или вычитая удалённое пространство равномерно между всеми непосредственными дочерними столбцами. Конечно, непосредственные дочерние элементы могут быть вложены, и тогда они будут использовать эту политику для своих дочерних элементов.

CONSTRAINED_RESIZE_POLICY

public static final Callback<TableView.ResizeFeatures,Boolean> CONSTRAINED_RESIZE_POLICY

Простая политика, которая гарантирует, что сумма ширины всех видимых столбцов-листьев в этой таблице равна ширине самой таблицы.

При изменении размера ширины столбца с помощью этой политики таблица автоматически изменяет ширину столбцов справа. При увеличении ширины столбца таблица уменьшает ширину правого столбца до достижения минимальной ширины. Затем она уменьшает ширину второго правого столбца до минимальной ширины и так далее. Когда все столбцы справа достигают минимального размера, пользователь больше не может увеличить размер изменённого столбца.

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 для получения подробностей о состоянии других свойств по умолчанию.

TableView

public TableView(ObservableList<S> items)
Создаёт TableView с содержимым, предоставленным в ObservableList items. Это также настраивает наблюдателя таким образом, что любые изменения в списке items немедленно отражаются в самом TableView.

См. документацию класса TableView для получения подробностей о состоянии других свойств по умолчанию.

Parameters:
items - Элементы для вставки в TableView, и список, за которым ведётся наблюдение для отслеживания изменений (чтобы автоматически отображаться в TableView).

Подробное описание методов

itemsProperty

public final ObjectProperty<ObservableList<S>> itemsProperty()
Базовая модель данных для TableView. Обратите внимание, что у неё есть обобщённый тип, который должен совпадать с типом самого TableView.
See Also:
getItems(), setItems(ObservableList)

setItems

public final void setItems(ObservableList<S> value)
Устанавливает значение свойства items.
Описание свойства:
Базовая модель данных для TableView. Обратите внимание, что у неё есть обобщённый тип, который должен совпадать с типом самого TableView.

getItems

public final ObservableList<S> getItems()
Получает значение свойства items.
Описание свойства:
Базовая модель данных для TableView. Обратите внимание, что у неё есть обобщённый тип, который должен совпадать с типом самого TableView.

tableMenuButtonVisibleProperty

public final BooleanProperty tableMenuButtonVisibleProperty()
Определяет, доступна ли кнопка меню, когда пользователь нажимает в выделенной области TableView, в которой находится элемент радиоменю для каждого TableColumn в этой таблице. Это меню позволяет пользователю легко отображать и скрывать все TableColumn.
See Also:
isTableMenuButtonVisible(), setTableMenuButtonVisible(boolean)

setTableMenuButtonVisible

public final void setTableMenuButtonVisible(boolean value)
Устанавливает значение свойства tableMenuButtonVisible.
Описание свойства:
Определяет, доступна ли кнопка меню, когда пользователь нажимает в выделенной области TableView, в которой находится элемент радиоменю для каждого TableColumn в этой таблице. Это меню позволяет пользователю легко отображать и скрывать все TableColumn.

isTableMenuButtonVisible

public final boolean isTableMenuButtonVisible()
Получает значение свойства tableMenuButtonVisible.
Описание свойства:
Определяет, доступна ли кнопка меню, когда пользователь нажимает в выделенной области TableView, в которой находится элемент радиоменю для каждого TableColumn в этой таблице. Это меню позволяет пользователю легко отображать и скрывать все TableColumn.

setColumnResizePolicy

public final void setColumnResizePolicy(Callback<TableView.ResizeFeatures,​Boolean> callback)
Устанавливает значение свойства columnResizePolicy.
Описание свойства:
Вызывается при завершении пользователем операции изменения размера колонки. Два наиболее распространённых варианта доступны как статические функции в классе TableView: UNCONSTRAINED_RESIZE_POLICY и CONSTRAINED_RESIZE_POLICY.

getColumnResizePolicy

public final Callback<TableView.ResizeFeatures,Boolean> getColumnResizePolicy()
Получает значение свойства columnResizePolicy.
Описание свойства:
Вызывается при завершении пользователем операции изменения размера колонки. Два наиболее распространённых варианта доступны как статические функции в классе TableView: UNCONSTRAINED_RESIZE_POLICY и CONSTRAINED_RESIZE_POLICY.

columnResizePolicyProperty

public final ObjectProperty<Callback<TableView.ResizeFeatures,Boolean>> columnResizePolicyProperty()
Вызывается при завершении пользователем операции изменения размера колонки. Два наиболее распространённых варианта доступны как статические функции в классе TableView: UNCONSTRAINED_RESIZE_POLICY и CONSTRAINED_RESIZE_POLICY.
See Also:
getColumnResizePolicy(), setColumnResizePolicy(Callback)

rowFactoryProperty

public final ObjectProperty<Callback<TableView<S>,TableRow<S>>> rowFactoryProperty()
Функция, которая создаёт TableRow. Система отвечает за повторное использование TableRow. Функция должна возвращать TableRow, который может быть использован для представления отдельной строки в TableView.

Обратите внимание, что TableRow — это не TableCell. TableRow — это просто контейнер для TableCell, и в большинстве случаев вы, скорее всего, захотите создать пользовательские TableCell, а не TableRow. Основной случай использования для создания пользовательских экземпляров TableRow, скорее всего, будет связан с добавлением поддержки размаха столбцов.

Вы можете создавать пользовательские экземпляры TableCell для каждого столбца, назначив соответствующую функцию свойству cellFactory в классе TableColumn.

See Also:
getRowFactory(), setRowFactory(Callback)

setRowFactory

public final void setRowFactory(Callback<TableView<S>,​TableRow<S>> value)
Устанавливает значение свойства rowFactory.
Описание свойства:
Функция, которая создаёт TableRow. Система отвечает за повторное использование TableRow. Функция должна возвращать TableRow, который может быть использован для представления отдельной строки в TableView.

Обратите внимание, что TableRow — это не TableCell. TableRow — это просто контейнер для TableCell, и в большинстве случаев вы, скорее всего, захотите создать пользовательские TableCell, а не TableRow. Основной случай использования для создания пользовательских экземпляров TableRow, скорее всего, будет связан с добавлением поддержки размаха столбцов.

Вы можете создавать пользовательские экземпляры TableCell для каждого столбца, назначив соответствующую функцию свойству cellFactory в классе TableColumn.

getRowFactory

public final Callback<TableView<S>,TableRow<S>> getRowFactory()
Получает значение свойства rowFactory.
Описание свойства:
Функция, которая создаёт TableRow. Система отвечает за повторное использование TableRow. Функция должна возвращать TableRow, который может быть использован для представления отдельной строки в TableView.

Обратите внимание, что TableRow — это не TableCell. TableRow — это просто контейнер для TableCell, и в большинстве случаев вы, скорее всего, захотите создать пользовательские TableCell, а не TableRow. Основной случай использования для создания пользовательских экземпляров TableRow, скорее всего, будет связан с добавлением поддержки размаха столбцов.

Вы можете создавать пользовательские экземпляры TableCell для каждого столбца, назначив соответствующую функцию свойству cellFactory в классе TableColumn.

placeholderProperty

public final ObjectProperty<Node> placeholderProperty()
Этот узел отображается пользователю, когда таблица не содержит данных для отображения. Это может быть связано с тем, что модель таблицы не имеет данных, что фильтр был применён к модели таблицы, в результате чего пользователю ничего не отображается, или что текущих видимых столбцов нет.
See Also:
getPlaceholder(), setPlaceholder(Node)

setPlaceholder

public final void setPlaceholder(Node value)
Устанавливает значение свойства placeholder.
Описание свойства:
Этот узел отображается пользователю, когда таблица не содержит данных для отображения. Это может быть связано с тем, что модель таблицы не имеет данных, что фильтр был применён к модели таблицы, в результате чего пользователю ничего не отображается, или что текущих видимых столбцов нет.

getPlaceholder

public final Node getPlaceholder()
Получает значение свойства placeholder.
Описание свойства:
Этот узел отображается пользователю, когда таблица не содержит данных для отображения. Это может быть связано с тем, что модель таблицы не имеет данных, что фильтр был применён к модели таблицы, в результате чего пользователю ничего не отображается, или что текущих видимых столбцов нет.

Модель выбора

public final ObjectProperty<TableView.TableViewSelectionModel<S>> selectionModelProperty()
Модель выбора предоставляет API, позволяющий выбирать один или несколько элементов в таблице TableView, а также проверять, какие элементы выбраны пользователем. Обратите внимание, что у неё есть общий тип, который должен соответствовать типу самой таблицы TableView.
См. также:
getSelectionModel(), setSelectionModel(TableView.TableViewSelectionModel)

Установить модель выбора

public final void setSelectionModel(TableView.TableViewSelectionModel<S> value)
Устанавливает значение свойства selectionModel.
Описание свойства:
Модель выбора предоставляет API, позволяющий выбирать один или несколько элементов в таблице TableView, а также проверять, какие элементы выбраны пользователем. Обратите внимание, что у неё есть общий тип, который должен соответствовать типу самой таблицы TableView.

Получить модель выбора

public final TableView.TableViewSelectionModel<S> getSelectionModel()
Получает значение свойства selectionModel.
Описание свойства:
Модель выбора предоставляет API, позволяющий выбирать один или несколько элементов в таблице TableView, а также проверять, какие элементы выбраны пользователем. Обратите внимание, что у неё есть общий тип, который должен соответствовать типу самой таблицы TableView.

Установить модель фокуса

public final void setFocusModel(TableView.TableViewFocusModel<S> value)
Устанавливает значение свойства focusModel.
Описание свойства:
Представляет текущую установленную TableView.TableViewFocusModel для этой таблицы TableView. Практически во всех случаях достаточно оставить её по умолчанию.

Получить модель фокуса

public final TableView.TableViewFocusModel<S> getFocusModel()
Получает значение свойства focusModel.
Описание свойства:
Представляет текущую установленную TableView.TableViewFocusModel для этой таблицы TableView. Практически во всех случаях достаточно оставить её по умолчанию.

Свойство модели фокуса

public final ObjectProperty<TableView.TableViewFocusModel<S>> focusModelProperty()
Представляет текущую установленную TableView.TableViewFocusModel для этой таблицы TableView. Практически во всех случаях достаточно оставить её по умолчанию.
См. также:
getFocusModel(), setFocusModel(TableView.TableViewFocusModel)

Установить редактируемость

public final void setEditable(boolean value)
Устанавливает значение свойства editable.
Описание свойства:
Указывает, является ли эта таблица TableView редактируемой. Для того, чтобы ячейка TableCell могла перейти в состояние редактирования, должны быть редактируемыми и таблица TableView, столбец TableColumn (применимо), и ячейки TableCell внутри неё.

Является ли редактируемой

public final boolean isEditable()
Получает значение свойства editable.
Описание свойства:
Указывает, является ли эта таблица TableView редактируемой. Для того, чтобы ячейка TableCell могла перейти в состояние редактирования, должны быть редактируемыми и таблица TableView, столбец TableColumn (применимо), и ячейки TableCell внутри неё.

Свойство редактируемости

public final BooleanProperty editableProperty()
Указывает, является ли эта таблица TableView редактируемой. Для того, чтобы ячейка TableCell могла перейти в состояние редактирования, должны быть редактируемыми и таблица TableView, столбец TableColumn (применимо), и ячейки TableCell внутри неё.
См. также:
isEditable(), setEditable(boolean)

Установить фиксированный размер ячейки

public final void setFixedCellSize(double value)
Устанавливает новый фиксированный размер ячейки для этого элемента управления. Любое значение, большее нуля, включит режим фиксированного размера ячейки, а значение ноль или меньше (или Region.USE_COMPUTED_SIZE) будет использовано для отключения режима фиксированного размера ячейки.
Параметры:
value - Новое значение фиксированного размера ячейки или значение меньше или равно нулю (или Region.USE_COMPUTED_SIZE) для отключения.
С:
JavaFX 8.0

Получить фиксированный размер ячейки

public final double getFixedCellSize()
Возвращает значение фиксированного размера ячейки. Значение меньше или равно нулю используется для представления того, что режим фиксированного размера ячейки отключен, а значение больше нуля представляет размер всех ячеек в этом элементе управления.
Возвращает:
Двойное значение, представляющее фиксированный размер ячейки этого элемента управления, или значение меньше или равно нулю, если режим фиксированного размера ячейки отключен.
С:
JavaFX 8.0

Свойство фиксированного размера ячейки

public final DoubleProperty fixedCellSizeProperty()
Указывает, имеют ли ячейки этого элемента управления фиксированную высоту (указанного значения). Если это значение меньше или равно нулю, все ячейки имеют индивидуальные размеры и расположение. Это медленная операция. Поэтому, когда важна производительность, и разработчики не зависят от переменных размеров ячеек, рекомендуется установить значение фиксированного размера ячейки. Как правило, ячейки имеют размер около 24 пикселей, поэтому установка фиксированного размера ячейки в 24 пикселя, вероятно, почти не повлияет на визуализацию, но улучшит производительность.

Для установки этого свойства через 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
См. также:
getFixedCellSize(), setFixedCellSize(double)

Получить редактируемую ячейку

public final TablePosition<S,?> getEditingCell()
Получает значение свойства editingCell.
Описание свойства:
Представляет текущую редактируемую ячейку или null, если ячейка не редактируется.

Свойство редактируемой ячейки

public final ReadOnlyObjectProperty<TablePosition<S,?>> editingCellProperty()
Представляет текущую редактируемую ячейку или null, если ячейка не редактируется.
См. также:
getEditingCell()

Получить компаратор

public final Comparator<S> getComparator()
Получает значение свойства comparator.
Описание свойства:
Свойство comparator — это свойство только для чтения, которое отражает текущее состояние списка sort order. Список порядка сортировки содержит столбцы, которые были добавлены в него программно или пользователем щелчком по заголовкам.
С:
JavaFX 8.0

Свойство компаратора

public final ReadOnlyObjectProperty<Comparator<S>> comparatorProperty()
Свойство comparator — это свойство только для чтения, которое отражает текущее состояние списка sort order. Список порядка сортировки содержит столбцы, которые были добавлены в него программно или пользователем щелчком по заголовкам.
С:
JavaFX 8.0
См. также:
getComparator()

Установить политику сортировки

public final void setSortPolicy(Callback<TableView<S>,​Boolean> callback)
Устанавливает значение свойства sortPolicy.
Описание свойства:
Политика сортировки определяет, как должна выполняться сортировка в этой таблице TableView. Например, базовая политика сортировки может просто вызвать FXCollections.sort(tableView.getItems()), в то время как более продвинутая политика сортировки может обратиться к базе данных для выполнения необходимой сортировки на стороне сервера.

TableView поставляется с default sort policy, которая делает именно то, что описано выше: она просто пытается отсортировать список элементов на месте.

Рекомендуется, вместо переопределения метода sort, предоставить другую политику сортировки.

С:
JavaFX 8.0

Получить политику сортировки

public final Callback<TableView<S>,Boolean> getSortPolicy()
Получает значение свойства sortPolicy.
Описание свойства:
Политика сортировки определяет, как должна выполняться сортировка в этой таблице TableView. Например, базовая политика сортировки может просто вызвать FXCollections.sort(tableView.getItems()), в то время как более продвинутая политика сортировки может обратиться к базе данных для выполнения необходимой сортировки на стороне сервера.

TableView поставляется с default sort policy, которая делает именно то, что описано выше: она просто пытается отсортировать список элементов на месте.

Рекомендуется, вместо переопределения метода sort, предоставить другую политику сортировки.

С:
JavaFX 8.0

sortPolicyProperty

public final ObjectProperty<Callback<TableView<S>,Boolean>> sortPolicyProperty()
Политика сортировки определяет, как должна выполняться сортировка в этом элементе TableView. Например, базовая политика сортировки может просто вызвать FXCollections.sort(tableView.getItems()), тогда как более продвинутая политика сортировки может обратиться к базе данных, чтобы выполнить необходимую сортировку на стороне сервера.

TableView поставляется с default sort policy, которая делает именно то, что описано выше: она просто пытается отсортировать список элементов на месте.

Рекомендуется, вместо переопределения метода sort, использовать другую политику сортировки.

Since:
JavaFX 8.0
See Also:
getSortPolicy(), setSortPolicy(Callback)

setOnSort

public void setOnSort(EventHandler<SortEvent<TableView<S>>> value)
Устанавливает значение свойства onSort.
Описание свойства:
Вызывается при запросе сортировки элемента управления.
Since:
JavaFX 8.0

getOnSort

public EventHandler<SortEvent<TableView<S>>> getOnSort()
Возвращает значение свойства onSort.
Описание свойства:
Вызывается при запросе сортировки элемента управления.
Since:
JavaFX 8.0

onSortProperty

public ObjectProperty<EventHandler<SortEvent<TableView<S>>>> onSortProperty()
Вызывается при запросе сортировки элемента управления.
Since:
JavaFX 8.0
See Also:
getOnSort(), setOnSort(EventHandler)

getColumns

public final ObservableList<TableColumn<S,?>> getColumns()
Столбцы TableColumn, которые являются частью этого элемента TableView. По мере переупорядочивания пользователем столбцов TableView этот список будет обновляться, отражая текущее визуальное упорядочение.

Примечание: для отображения данных в элементе TableView должен быть хотя бы один TableColumn в этом ObservableList.

Returns:
столбцы

getSortOrder

public final ObservableList<TableColumn<S,?>> getSortOrder()
Список sortOrder определяет порядок, в котором сортируются экземпляры TableColumn. Пустой список sortOrder означает, что в элементе TableView сортировка не применяется. Если список sortOrder содержит один TableColumn, то TableView будет отсортирован с использованием свойств sortType и comparator этого TableColumn (при условии, что TableColumn.sortable имеет значение true). Если список sortOrder содержит несколько экземпляров TableColumn, то TableView сначала сортируется на основе свойств первого TableColumn. Если два элемента считаются равными, то для определения порядка используется второй TableColumn в списке. Это повторяется до тех пор, пока не будут рассмотрены результаты всех сравнителей TableColumn, если необходимо.
Returns:
Observable список, содержащий ноль или более экземпляров TableColumn.

scrollTo

public void scrollTo(int index)
Прокручивает TableView так, чтобы заданный индекс был виден в области просмотра.
Parameters:
index - Индекс элемента, который должен быть виден пользователю.

scrollTo

public void scrollTo(S object)
Прокручивает TableView так, чтобы заданный объект был виден в области просмотра.
Parameters:
object - Объект, который должен быть виден пользователю.
Since:
JavaFX 8.0

setOnScrollTo

public void setOnScrollTo(EventHandler<ScrollToEvent<Integer>> value)
Устанавливает значение свойства onScrollTo.
Описание свойства:
Вызывается при запросе прокрутки индекса в область видимости с использованием scrollTo(int) или scrollTo(Object)
Since:
JavaFX 8.0

getOnScrollTo

public EventHandler<ScrollToEvent<Integer>> getOnScrollTo()
Возвращает значение свойства onScrollTo.
Описание свойства:
Вызывается при запросе прокрутки индекса в область видимости с использованием scrollTo(int) или scrollTo(Object)
Since:
JavaFX 8.0

onScrollToProperty

public ObjectProperty<EventHandler<ScrollToEvent<Integer>>> onScrollToProperty()
Вызывается при запросе прокрутки индекса в область видимости с использованием scrollTo(int) или scrollTo(Object)
Since:
JavaFX 8.0
See Also:
getOnScrollTo(), setOnScrollTo(EventHandler)

scrollToColumn

public void scrollToColumn(TableColumn<S,​?> column)
Прокручивает TableView так, чтобы заданный столбец был виден в области просмотра.
Parameters:
column - Столбец, который должен быть виден пользователю.
Since:
JavaFX 8.0

scrollToColumnIndex

public void scrollToColumnIndex(int columnIndex)
Прокручивает TableView так, чтобы заданный индекс был виден в области просмотра.
Parameters:
columnIndex - Индекс столбца, который должен быть виден пользователю.
Since:
JavaFX 8.0

setOnScrollToColumn

public void setOnScrollToColumn(EventHandler<ScrollToEvent<TableColumn<S,​?>>> value)
Устанавливает значение свойства onScrollToColumn.
Описание свойства:
Вызывается при запросе прокрутки столбца в область видимости с использованием scrollToColumn(TableColumn) или scrollToColumnIndex(int)
Since:
JavaFX 8.0

getOnScrollToColumn

public EventHandler<ScrollToEvent<TableColumn<S,?>>> getOnScrollToColumn()
Возвращает значение свойства onScrollToColumn.
Описание свойства:
Вызывается при запросе прокрутки столбца в область видимости с использованием scrollToColumn(TableColumn) или scrollToColumnIndex(int)
Since:
JavaFX 8.0

onScrollToColumnProperty

public ObjectProperty<EventHandler<ScrollToEvent<TableColumn<S,?>>>> onScrollToColumnProperty()
Вызывается при запросе прокрутки столбца в область видимости с использованием scrollToColumn(TableColumn) или scrollToColumnIndex(int)
Since:
JavaFX 8.0
See Also:
getOnScrollToColumn(), setOnScrollToColumn(EventHandler)

resizeColumn

public boolean resizeColumn(TableColumn<S,​?> column, double delta)
Применяет текущую политику изменения размера к заданному столбцу, изменяя его размер на основе предоставленного значения дельты.
Parameters:
column - столбец
delta - дельта
Returns:
true, если изменение размера столбца разрешено

edit

public void edit(int row, TableColumn<S,​?> column)
Принуждает ячейку в заданных строчных/столбцовых индексах просмотра перейти в режим редактирования, если она в нем еще не находится, и при условии, что TableView и столбец также являются редактируемыми.

Примечание: Этот метод отменит редактирование, если заданное значение строки меньше нуля, а заданный столбец равен null.

Parameters:
row - строка
column - столбец

getVisibleLeafColumns

public ObservableList<TableColumn<S,?>> getVisibleLeafColumns()
Возвращает неизменяемый список, содержащий текущие видимые листовые столбцы.
Returns:
неизменяемый список, содержащий текущие видимые листовые столбцы

getVisibleLeafIndex

public int getVisibleLeafIndex(TableColumn<S,​?> column)
Возвращает позицию заданного столбца относительно всех других видимых листовых столбцов.
Parameters:
column - столбец
Returns:
позиция заданного столбца относительно всех других видимых листовых столбцов

getVisibleLeafColumn

public TableColumn<S,?> getVisibleLeafColumn​(int column)
Возвращает TableColumn в заданном индексе столбца, относительно всех других видимых листовых столбцов.
Parameters:
column - столбец
Returns:
TableColumn в заданном индексе столбца, относительно всех других видимых листовых столбцов

sort

public void sort()
Метод sort принудительно заставляет TableView повторно выполнить свой алгоритм сортировки. Чаще всего вызывать этот метод напрямую не требуется, так как он автоматически вызывается при изменении свойств sort order, sort policy или состояния столбца TableColumn sort type. Другими словами, этот метод следует вызывать напрямую только тогда, когда что-то внешнее изменяется, и требуется сортировка.
Since:
JavaFX 8.0

refresh

public void refresh()
Вызов refresh() заставляет элемент управления TableView пересоздать и повторно заполнить ячейки, необходимые для заполнения визуальных границ элемента управления. Другими словами, это заставляет TableView обновить отображаемые для пользователя данные. Это полезно в тех случаях, когда базовый источник данных изменился таким образом, что это не наблюдается самим TableView.
Since:
JavaFX 8u60

getClassCssMetaData

public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
Возвращает:
CssMetaData, связанный с этим классом, который может включать CssMetaData его суперклассов.
Since:
JavaFX 8.0

getControlCssMetaData

public List<CssMetaData<? extends Styleable,?>> getControlCssMetaData()
Переопределяет:
getControlCssMetaData в классе Control
Возвращает:
неизменяемый список стилизуемых свойств элемента управления
Since:
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.

Spec-Zone.ru

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