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