- 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, который отслеживает список
teamMembersobservableList. Недостающим компонентом является возможность разделения данных, содержащихся в модели, и представления их в одном или нескольких экземплярах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, хотя есть оговорка, поэтому см. документацию по классу для получения дополнительной информации). Если это не так, необходимо предоставить пользовательскую фабрику значений ячейки. Дополнительную информацию о фабриках значений ячеек можно найти в документации APITableColumn, но кратко вот как можно указать 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для каждого столбца, назначив соответствующую функцию свойству TableColumncell factory.См. документацию класса
Cellдля более подробного описания написания пользовательских ячеек.Сортировка
До JavaFX 8.0 контрол TableView обрабатывал список
itemsкак модель представления, что означало, что любые изменения в списке немедленно отражались визуально. TableView также непосредственно изменял порядок этого списка при инициировании сортировки пользователем. Это означало (до JavaFX 8.0), что TableView не мог вернуться в состояние без сортировки (после перебора сортировок по возрастанию и убыванию).Начиная с JavaFX 8.0 (и введением
SortedList), теперь можно вернуть коллекцию в состояние без сортировки, если нет столбцов в TableViewsort order. Для этого необходимо создать экземпляр SortedList и связать его свойствоcomparatorсо свойством TableViewcomparator, например:// 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()в зависимости от ситуации. - Мощный API
Когда вы вызываете
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.BooleanPropertyeditableУказывает, является ли этот TableView редактируемым — только если TableView, TableColumn (применимо) и ячейки TableCell внутри него редактируемы, ячейка TableCell сможет перейти в состояние редактирования.ReadOnlyObjectProperty<TablePosition<S,?>>editingCellПредставляет текущую редактируемую ячейку или null, если ячейка не редактируется.DoublePropertyfixedCellSizeУказывает, имеют ли ячейки этого элемента управления фиксированную высоту (указанного значения).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>>selectionModelSelectionModel предоставляет API, с помощью которого можно выбирать один или несколько элементов в TableView, а также проверять, какие элементы были выбраны пользователем.ObjectProperty<Callback<TableView<S>,Boolean>>sortPolicyПолитика сортировки определяет, как должна выполняться сортировка в этом TableView.BooleanPropertytableMenuButtonVisibleЭто управляет доступностью кнопки меню, когда пользователь щелкает в выделенном пространстве в 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 classTableView.ResizeFeatures<S>Неизменяемый класс-обертка для использования в функциональности TableViewcolumn resize.static classTableView.TableViewFocusModel<S>AFocusModelс дополнительной функциональностью для поддержки требований элемента управления TableView.static classTableView.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()Создает новый экземпляр стандартной темы для этого элемента управления.voidedit(int row, TableColumn<S,?> column)Приводит ячейку по заданным индексам строки/столбца в состояние редактирования, если она в нём не находится, при условии, что TableView и столбец также редактируемы.BooleanPropertyeditableProperty()Указывает, является ли этот TableView редактируемым. Ячейка сможет перейти в состояние редактирования только в том случае, если TableView, TableColumn (применимо) и ячейки внутри него также редактируемы.ReadOnlyObjectProperty<TablePosition<S,?>>editingCellProperty()Представляет текущую редактируемую ячейку или null, если ячейка не редактируется.DoublePropertyfixedCellSizeProperty()Указывает, имеют ли ячейки этого элемента управления фиксированную высоту (заданного значения).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.doublegetFixedCellSize()Возвращает значение фиксированного размера ячейки.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.NodegetPlaceholder()Возвращает значение свойства 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()Возвращает неизменяемый список, содержащий текущие видимые листовые столбцы.intgetVisibleLeafIndex(TableColumn<S,?> column)Возвращает позицию заданного столбца, относительно всех других видимых листовых столбцов.booleanisEditable()Возвращает значение свойства editable.booleanisTableMenuButtonVisible()Возвращает значение свойства 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()Этот узел отображается пользователю, когда таблица не содержит данных для отображения.ObjectqueryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)Этот метод вызывается средствами вспомогательной технологии для запроса значения атрибута.voidrefresh()Вызовrefresh()заставляет элемент управления TableView пересоздать и повторно заполнить ячейки, необходимые для заполнения визуальных границ элемента управления.booleanresizeColumn(TableColumn<S,?> column, double delta)Применяет текущую политику изменения размера к заданному столбцу, изменяя его размер на основе предоставленного значения delta.ObjectProperty<Callback<TableView<S>,TableRow<S>>>rowFactoryProperty()Функция, создающая TableRow.
voidscrollTo(int index)Прокручивает TableView так, чтобы заданный индекс был виден в области просмотра.voidscrollTo(S object)Прокручивает TableView так, чтобы заданный объект был виден в области просмотра.voidscrollToColumn(TableColumn<S,?> column)Прокручивает TableView так, чтобы заданный столбец был виден в области просмотра.voidscrollToColumnIndex(int columnIndex)Прокручивает TableView так, чтобы заданный индекс был виден в области просмотра.ObjectProperty<TableView.TableViewSelectionModel<S>>selectionModelProperty()Модель выбора предоставляет API, с помощью которого можно выбирать отдельные или несколько элементов в TableView, а также проверять, какие элементы были выбраны пользователем.voidsetColumnResizePolicy(Callback<TableView.ResizeFeatures,Boolean> callback)Устанавливает значение свойства columnResizePolicy.voidsetEditable(boolean value)Устанавливает значение свойства editable.voidsetFixedCellSize(double value)Устанавливает новый фиксированный размер ячейки для этого элемента управления.voidsetFocusModel(TableView.TableViewFocusModel<S> value)Устанавливает значение свойства focusModel.voidsetItems(ObservableList<S> value)Устанавливает значение свойства items.voidsetOnScrollTo(EventHandler<ScrollToEvent<Integer>> value)Устанавливает значение свойства onScrollTo.voidsetOnScrollToColumn(EventHandler<ScrollToEvent<TableColumn<S,?>>> value)Устанавливает значение свойства onScrollToColumn.voidsetOnSort(EventHandler<SortEvent<TableView<S>>> value)Устанавливает значение свойства onSort.voidsetPlaceholder(Node value)Устанавливает значение свойства placeholder.voidsetRowFactory(Callback<TableView<S>,TableRow<S>> value)Устанавливает значение свойства rowFactory.voidsetSelectionModel(TableView.TableViewSelectionModel<S> value)Устанавливает значение свойства selectionModel.voidsetSortPolicy(Callback<TableView<S>,Boolean> callback)Устанавливает значение свойства sortPolicy.voidsetTableMenuButtonVisible(boolean value)Устанавливает значение свойства tableMenuButtonVisible.voidsort()Метод сортировки заставляет TableView повторно выполнить алгоритм сортировки.ObjectProperty<Callback<TableView<S>,Boolean>>sortPolicyProperty()Политика сортировки определяет, как должна выполняться сортировка в этом TableView.BooleanPropertytableMenuButtonVisibleProperty()Это управляет наличием кнопки меню, когда пользователь нажимает в выделенной области в 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.
-
columnResizePolicy
public final ObjectProperty<Callback<TableView.ResizeFeatures,Boolean>> columnResizePolicyProperty
Функция, вызываемая при завершении пользователем операции изменения размера столбца. Два наиболее распространенных варианта политики доступны как статические функции в классе TableView:UNCONSTRAINED_RESIZE_POLICYиCONSTRAINED_RESIZE_POLICY.
-
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.
-
focusModel
public final ObjectProperty<TableView.TableViewFocusModel<S>> focusModelProperty
Представляет текущую установленнуюTableView.TableViewFocusModelдля этого TableView. В почти всех случаях достаточно оставить это значение по умолчанию.
-
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.
-
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.
-
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.
-
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. В подавляющем большинстве случаев достаточно оставить значение по умолчанию.
-
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или состояния свойства TableColumnsort 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:
-
getControlCssMetaDatain classControl - Возвращает:
- неизменяемый список свойств стилей CSS элементов управления
- С момента:
- JavaFX 8.0
-
queryAccessibleAttribute
public Object queryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)
Этот метод вызывается технологией вспомогательных средств для запроса значения атрибута.Этот метод обычно переопределяется подклассами для реализации атрибутов, необходимых для определенного роли.
Если определенный атрибут не обрабатывается, необходимо вызвать реализацию суперкласса.- Overrides:
-
queryAccessibleAttributein classControl - Параметры:
-
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.