Spec-Zone.ru › OpenJavaFX 11
Модуль javafx.controls
Пакет javafx.scene.control

Класс TableView<S>

  • java.lang.Object
    • javafx.scene.Node
      • javafx.scene.Parent
        • javafx.scene.layout.Region
          • javafx.scene.control.Control
            • javafx.scene.control.TableView<S>
  • Параметры типа:
    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 будет содержать свойства firstName и lastName. То есть:

     
     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;
         }
     }

    Во-первых, необходимо определить экземпляр TableView следующим образом:

     
     TableView<Person> table = new TableView<>();

    После определения основной таблицы мы перейдём к модели данных. Как уже упоминалось, в этом примере мы будем использовать ObservableList<Person>. Мы можем сразу же установить такой список в TableView следующим образом:

     
     ObservableList<Person> teamMembers = getTeamMembers();
     table.setItems(teamMembers);

    После установки элементов TableView автоматически обновится при каждом изменении списка teamMembers. Если список элементов доступен до создания TableView, его можно передать непосредственно в конструктор.

    На этом этапе у нас есть TableView, который отслеживает список teamMembers observableList. Недостающим компонентом является возможность разделения данных, содержащихся в модели, и представления их в одном или нескольких экземплярах TableColumn. Чтобы создать TableView с двумя столбцами для отображения свойств firstName и lastName, мы расширим последний пример кода следующим образом:

     
     ObservableList<Person> teamMembers = ...;
     table.setItems(teamMembers);
    
     TableColumn<Person,String> firstNameCol = new TableColumn<>("First Name");
     firstNameCol.setCellValueFactory(new PropertyValueFactory<>("firstName"));
     TableColumn<Person,String> lastNameCol = new TableColumn<>("Last Name");
     lastNameCol.setCellValueFactory(new PropertyValueFactory<>("lastName"));
    
     table.getColumns().setAll(firstNameCol, lastNameCol);

    С помощью показанного выше кода мы полностью определили минимальные свойства, необходимые для создания экземпляра TableView. Выполнение этого кода (при условии, что ObservableList people создан должным образом) приведет к отображению 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, и в большинстве случаев вам скорее потребуется создать пользовательские TableCells, а не TableRows. Основной случай использования для создания пользовательских экземпляров TableRow — вероятно, поддержка разнесения столбцов.

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

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

    Сортировка

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

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

    Since:
    JavaFX 2.0
    См. также:
    TableColumn, TablePosition
  • Краткое описание свойств

    Свойства
    Тип Свойство Описание
    ObjectProperty<Callback<TableView.ResizeFeatures,​Boolean>> columnResizePolicy
    Эта функция вызывается, когда пользователь завершает операцию изменения размера столбца.
    ReadOnlyObjectProperty<Comparator<S>> comparator
    Свойство компаратора — это свойство только для чтения, которое отражает текущее состояние списка sort order.
    BooleanProperty editable
    Указывает, является ли этот TableView редактируемым — только если TableView, TableColumn (применимо) и ячейки TableCell внутри него редактируемы, ячейка TableCell сможет перейти в состояние редактирования.
    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 items.
  • Краткое описание методов

    Все методыСтатические методыМетоды экземпляровКонкретные методы
    Модификатор и тип Метод Описание
    ObjectProperty<Callback<TableView.ResizeFeatures,​Boolean>> columnResizePolicyProperty()
    Этот метод вызывается, когда пользователь завершает операцию изменения размера колонки.
    ReadOnlyObjectProperty<Comparator<S>> comparatorProperty()
    Свойство comparator — это свойство только для чтения, представляющее текущее состояние списка sort order.
    protected Skin<?> createDefaultSkin()
    Создает новый экземпляр стандартной темы для этого элемента управления.
    void edit​(int row, TableColumn<S,​?> column)
    Приводит ячейку по заданным индексам строки/столбца в состояние редактирования, если она в нём не находится, при условии, что TableView и столбец также редактируемы.
    BooleanProperty editableProperty()
    Указывает, является ли этот TableView редактируемым. Ячейка сможет перейти в состояние редактирования только в том случае, если TableView, TableColumn (применимо) и ячейки внутри него также редактируемы.
    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()
    Этот узел отображается пользователю, когда таблица не содержит данных для отображения.
    Object queryAccessibleAttribute​(AccessibleAttribute attribute, Object... parameters)
    Этот метод вызывается средствами вспомогательной технологии для запроса значения атрибута.
    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()
    Модель выбора предоставляет 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, computePrefHeight, computePrefWidth, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getContextMenu, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, layoutChildren, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty
    • Методы, унаследованные от класса javafx.scene.layout.Region

      backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, 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

      getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, 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, 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, getStyleClass, 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, 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, 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.css.Styleable

      getStyleableNode
  • Подробности свойств

    • items

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

      public final BooleanProperty tableMenuButtonVisibleProperty
      Управляет отображением кнопки меню, когда пользователь щелкает в выделенной области TableView, в которой находится элемент меню со списком радиокнопок для каждой 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 имеет приоритет.

      Since:
      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. Список порядка сортировки содержит столбцы, которые были добавлены в него программно или посредством щелчка пользователя по заголовкам.
      Since:
      JavaFX 8.0
      См. также:
      getComparator()
    • sortPolicy

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

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

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

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

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

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

      public ObjectProperty<EventHandler<ScrollToEvent<TableColumn<S,​?>>>> onScrollToColumnProperty
      Вызывается при запросе прокрутки столбца в область видимости с помощью scrollToColumn(TableColumn) или scrollToColumnIndex(int)
      Since:
      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.
      См. также:
      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.
      См. также:
      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.
      См. также:
      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.

      См. также:
      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()
      Этот узел отображается пользователю, когда таблица не имеет отображаемого содержимого. Это может быть связано с тем, что у модели таблицы нет данных, что фильтр был применён к модели таблицы, что привело к отсутствию отображаемого содержимого для пользователя, или что нет отображаемых столбцов.
      См. также:
      getPlaceholder(), setPlaceholder(Node)
    • setPlaceholder

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

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

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

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

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

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

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

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

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

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

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

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

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

      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)
    • getEditingCell

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

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

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

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

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

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

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

      С тех пор:
      JavaFX 8.0
    • getSortPolicy

      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 была предоставлена другая политика сортировки.

      С тех пор:
      JavaFX 8.0
      См. также:
      getSortPolicy(), setSortPolicy(Callback)
    • setOnSort

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

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

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

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

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

      Возвращает:
      столбцы
    • 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, если это необходимо.
      Возвращает:
      ObservableList, содержащий ноль или более экземпляров TableColumn.
    • scrollTo

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

      public void scrollTo​(S object)
      Прокручивает TableView так, чтобы заданный объект был виден в области просмотра.
      Параметры:
      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
      См. также:
      getOnScrollTo(), setOnScrollTo(EventHandler)
    • scrollToColumn

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

      public void scrollToColumnIndex​(int columnIndex)
      Прокручивает TableView так, чтобы заданный индекс был виден в области просмотра.
      Параметры:
      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
      См. также:
      getOnScrollToColumn(), setOnScrollToColumn(EventHandler)
    • resizeColumn

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

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

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

      Параметры:
      row - строка
      column - столбец
    • getVisibleLeafColumns

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

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

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

      protected Skin<?> createDefaultSkin()
      Создаёт новый экземпляр стандартной темы для этого элемента управления. Это вызывается для создания темы для элемента управления, если тема не предоставлена через CSS -fx-skin или явно установлена в подклассе с помощью setSkin(...).
      Переопределяет:
      createDefaultSkin в классе Control
      Возвращает:
      новый экземпляр стандартной темы для этого элемента управления. Если null, то у элемента управления не будет темы, если только она не будет предоставлена через css.
    • 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()
      Overrides:
      getControlCssMetaData in class Control
      Возвращает:
      неизменяемый список свойств стилей CSS элементов управления
      С момента:
      JavaFX 8.0
    • queryAccessibleAttribute

      public Object queryAccessibleAttribute​(AccessibleAttribute attribute,
                                             Object... parameters)
      Этот метод вызывается технологией вспомогательных средств для запроса значения атрибута.

      Этот метод обычно переопределяется подклассами для реализации атрибутов, необходимых для определенного роли.
      Если определенный атрибут не обрабатывается, необходимо вызвать реализацию суперкласса.

      Overrides:
      queryAccessibleAttribute in class Control
      Параметры:
      attribute - запрашиваемый атрибут
      parameters - необязательный список параметров
      Возвращает:
      значение запрашиваемого атрибута
      См. также:
      AccessibleAttribute

© 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