Класс TreeTableView<S>
- Тип параметров:
-
S- Тип экземпляров TreeItem, используемых в данном TreeTableView.
- Все реализованные интерфейсы:
-
Styleable,EventTarget,Skinnable
@DefaultProperty("root")
public class TreeTableView<S>
extends Control TreeView и TableView, и по мере чтения вы увидите, что API в основном одинаковый. Однако, чтобы дать общее представление, вы заметите, что TreeTableView использует тот же API TreeItem, что и TreeView, и что вам нужно просто установить свойство root node в TreeTableView. Аналогично, контрол TreeTableView использует тот же подход на основе TableColumn, что и контрол TableView, за исключением того, что вместо использования класса TableView-специфичного TableColumn, следует использовать класс TreeTableView-специфичный TreeTableColumn. Для примера создания экземпляра TreeTableView обратитесь к разделу «Создание контрола TreeTableView» ниже. Как и контрол TableView, контрол TreeTableView имеет ряд функций, включая:
- Мощный API
TreeTableColumn:- Поддержка
cell factoriesдля удобной настройки содержимогоcellв состояниях рендеринга и редактирования. - Указание
minWidth/prefWidth/maxWidth, а такжеfixed width columns. - Изменение ширины пользователем во время выполнения.
- Переупорядочивание столбцов пользователем во время выполнения.
- Встроенная поддержка
column nesting
- Поддержка
- Различные политики изменения размера столбцов
resizing policies, чтобы указать, что происходит, когда пользователь изменяет размер столбцов. - Поддержка сортировки по нажатию на заголовок столбца
multiple column sorting(удерживайте клавишу Shift на клавиатуре при нажатии на заголовок, чтобы сортировать по нескольким столбцам).
Создание TreeTableView
Создание TreeTableView — это многоэтапный процесс, зависящий от модели данных, подлежащей представлению. В этом примере мы будем использовать TreeTableView для визуализации файловой системы и, следовательно, будем использовать вымышленный (и значительно упрощённый) класс File, как определено ниже:
public class File {
private StringProperty name;
public void setName(String value) { nameProperty().set(value); }
public String getName() { return nameProperty().get(); }
public StringProperty nameProperty() {
if (name == null) name = new SimpleStringProperty(this, "name");
return name;
}
private LongProperty lastModified;
public void setLastModified(long value) { lastModifiedProperty().set(value); }
public long getLastModified() { return lastModifiedProperty().get(); }
public LongProperty lastModifiedProperty() {
if (lastModified == null) lastModified = new SimpleLongProperty(this, "lastModified");
return lastModified;
}
public File(String name, long size) {
setName(name);
setSize(size);
}
} Данные, которые мы будем использовать в этом примере, — это один корень с 3 файлами:
File rootFile = new File("Images", 900);
List<File> files = List.of(
new File("Cat.png", 300),
new File("Dog.png", 500),
new File("Bird.png", 100)); Во-первых, нам нужно создать модель данных. Как упоминалось, в этом примере мы будем представлять файловую систему с помощью экземпляров File. Для этого нам нужно определить корневой узел дерева и его иерархию:
TreeItem<File> root = new TreeItem<>(rootFile);
files.forEach(file -> root.getChildren().add(new TreeItem<>(file))); Затем мы создаём экземпляр TreeTableView:
TreeTableView<File> treeTable = new TreeTableView<>(root); С таким корнем TreeTableView будет автоматически обновляться всякий раз, когда меняются дочерние элементы children корневого узла.
На этом этапе у нас есть TreeTableView, подключённый к наблюдению за корневым экземпляром TreeItem. Отсутствующим компонентом сейчас является способ разделения данных, содержащихся в модели, и представления их в одном или нескольких экземплярах TreeTableColumn. Чтобы создать TreeTableView с двумя столбцами для отображения имени файла и размера, мы напишем:
TreeTableColumns<File, String> fileNameCol = new TreeTableColumn<>("Filename");
TreeTableColumns<File, Long> sizeCol = new TreeTableColumn<>("Size");
treeTable.getColumns().setAll(fileNameCol, sizeCol); С помощью показанного выше кода мы почти полностью определили минимальные свойства, необходимые для создания экземпляра TreeTableView. Единственное, что отсутствует, это cell value factories для двух столбцов — именно они отвечают за определение значения ячейки в данной строке. Обычно они могут быть заданы с помощью класса TreeItemPropertyValueFactory, но в противном случае вы также можете создать анонимный внутренний класс и сделать всё необходимое. Например, используя TreeItemPropertyValueFactory, вы выполните следующие действия:
fileNameCol.setCellValueFactory(new TreeItemPropertyValueFactory(rootFile.nameProperty().getName()));
sizeCol.setCellValueFactory(new TreeItemPropertyValueFactory(rootFile.sizeProperty().getName())); Запуск этого кода приведет к TreeTableView, как показано выше, с двумя столбцами для имени и размера. Любые другие свойства класса File не будут отображаться, так как для них не определены столбцы TreeTableColumns.
Поддержка TreeTableView для классов, не содержащих свойств
Вышеприведенный код — это самый короткий возможный код для создания TreeTableView, когда объекты домена разработаны с учетом свойств JavaFX (дополнительно, TreeItemPropertyValueFactory поддерживает обычные свойства JavaBean, хотя есть оговорка, поэтому обратитесь к документации класса для получения дополнительной информации). Если это не так, необходимо предоставить пользовательскую фабрику значений ячейки. Дополнительную информацию о фабриках значений ячеек можно найти в документации API TreeTableColumn, но кратко, вот как можно задать TreeTableColumns:
firstNameCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
public ObservableValue<String> call(CellDataFeatures<Person, String> p) {
// p.getValue() returns the TreeItem<Person> instance for a particular TreeTableView row,
// p.getValue().getValue() returns the Person instance inside the TreeItem<Person>
return p.getValue().getValue().firstNameProperty();
}
});
// or with a lambda expression:
firstNameCol.setCellValueFactory(p -> p.getValue().getValue().firstNameProperty()); API выбора/фокусировки TreeTableView
Для отслеживания выбора и фокуса необходимо ознакомиться с классами SelectionModel и FocusModel. У TreeTableView максимум по одному экземпляру каждого из этих классов, доступных через свойства selectionModel и focusModel соответственно. Хотя можно использовать этот API для задания новой модели выбора, в большинстве случаев это не требуется — в большинстве случаев должны работать стандартные модели выбора и фокуса.
По умолчанию используемая при создании TreeTableView модель SelectionModel — это реализация абстрактного класса MultipleSelectionModel. Однако, как отмечено в документации API для свойства selectionMode, значение по умолчанию — SelectionMode.SINGLE. Чтобы включить множественный выбор в стандартном экземпляре TreeTableView, необходимо выполнить следующие действия:
treeTableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); Настройка визуального оформления TreeTableView
Визуальное оформление TreeTableView можно полностью настроить, заменив стандартную фабрику строк row factory. Фабрика строк используется для генерации экземпляров TreeTableRow, которые используются для представления целой строки в TreeTableView.
Во многих случаях это нежелательно, так как чаще всего требуется настраивать ячейки на уровне столбца, а не на уровне строки. Поэтому важно отметить, что TreeTableRow не является TreeTableCell. TreeTableRow — это просто контейнер для нуля или более TreeTableCell, и в большинстве случаев скорее всего вы захотите создавать пользовательские TreeTableCells, а не TreeTableRows. Основной случай использования создания пользовательских экземпляров TreeTableRow, вероятно, заключался бы в поддержке разнесения столбцов.
Вы можете создавать пользовательские экземпляры TreeTableCell для каждого столбца, назначив соответствующую функцию свойству cell factory столбца TreeTableColumn.
См. документацию класса Cell для более подробного описания написания пользовательских ячеек.
Редактирование
Этот контрол поддерживает редактирование значений в строке, и этот раздел пытается дать общий обзор доступных API и того, как следует их использовать.
Во-первых, редактирование ячеек обычно требует пользовательского интерфейса, отличного от интерфейса, когда ячейка не находится в состоянии редактирования. Это ответственность используемой реализации Cell. Для TreeTableView крайне рекомендуется выполнять редактирование через per-TreeTableColumn, а не per row, так как чаще всего пользователям нужно редактировать значения каждого столбца по-разному, и этот подход позволяет использовать редакторы, специфичные для каждого столбца. Вы можете решить, будет ли ячейка постоянно в состоянии редактирования (например, это обычно для ячеек CheckBox), или переключиться на другой пользовательский интерфейс при запуске редактирования (например, при получении двойного щелчка по ячейке).
Чтобы узнать, когда затребовано редактирование ячейки, просто переопределите метод Cell.startEdit() и обновите свойства ячейки text и graphic соответствующим образом (например, установите текст в значение null и установите графику в TextField). Кроме того, вы также должны переопределить Cell.cancelEdit(), чтобы вернуть пользовательский интерфейс в исходное визуальное состояние при завершении редактирования. В обоих случаях важно убедиться, что вы также вызываете метод super, чтобы ячейка выполнила все необходимые действия для перехода в режим редактирования или выхода из него.
Как только ваша ячейка находится в состоянии редактирования, следующим, что вам, скорее всего, интересно, — это как подтвердить или отменить выполняемое редактирование. Это ваша ответственность как поставщика фабрики ячеек. Ваша реализация ячейки будет знать, когда редактирование завершено, исходя из пользовательского ввода (например, когда пользователь нажимает клавиши Enter или Esc на клавиатуре). Когда это произойдёт, вы должны вызвать Cell.commitEdit(Object) или Cell.cancelEdit() соответственно.
При вызове Cell.commitEdit(Object) генерируется событие для TreeTableView, которое можно наблюдать, добавив обработчик событий EventHandler с помощью TreeTableColumn.setOnEditCommit(javafx.event.EventHandler). Аналогично, можно наблюдать события редактирования для edit start и edit cancel.
По умолчанию обработчик подтверждения редактирования TreeTableColumn не равен null и содержит обработчик по умолчанию, который пытается перезаписать значение свойства для элемента в текущей редактируемой строке. Это возможно, так как метод Cell.commitEdit(Object) получает новое значение, и это значение передаётся обработчику подтверждения редактирования через CellEditEvent, который генерируется. Для получения этого значения достаточно вызвать TreeTableColumn.CellEditEvent.getNewValue().
Очень важно отметить, что если вы вызовете TreeTableColumn.setOnEditCommit(javafx.event.EventHandler) со своим собственным обработчиком событий EventHandler, то вы удалите обработчик по умолчанию. Если при этом не обработать запись в свойство (или соответствующий источник данных), ничего не произойдёт. Можно обойти эту проблему, используя метод TableColumnBase.addEventHandler(javafx.event.EventType, javafx.event.EventHandler) для добавления обработчика события TreeTableColumn.EDIT_COMMIT_EVENT EventType с требуемым обработчиком событий EventHandler в качестве второго аргумента. Используя этот метод, вы не замените реализацию по умолчанию, но получите уведомление о том, что произошло подтверждение редактирования.
Надеемся, это описание ответит на некоторые часто задаваемые вопросы. К счастью, JavaFX поставляется с несколькими предопределёнными фабриками ячеек, которые обрабатывают все требования к редактированию за вас. Вы можете найти эти предопределённые фабрики ячеек в пакете javafx.scene.control.cell.
- Since:
- JavaFX 8.0
- See Also:
-
TreeTableColumn,TreeTablePosition
Краткое описание свойств
| Тип | Свойство | Описание |
|---|---|---|
ObjectProperty<Callback<TreeTableView.ResizeFeatures,Boolean>> | columnResizePolicy | Эта функция вызывается, когда пользователь завершает операцию изменения размера столбца. |
ReadOnlyObjectProperty<Comparator<TreeItem<S>>> | comparator | Свойство компаратора — это свойство только для чтения, которое отражает текущее состояние списка sort order. |
BooleanProperty | editable | Указывает, является ли TreeTableView редактируемым. Для того чтобы ячейка TreeCell могла перейти в состояние редактирования, необходимо, чтобы TreeTableView и ячейки TreeCells в нем были редактируемыми. |
ReadOnlyObjectProperty<TreeTablePosition<S,?>> | editingCell | Представляет текущую редактируемую ячейку или null, если нет редактируемой ячейки. |
ReadOnlyIntegerProperty | expandedItemCount | Представляет количество узлов дерева, которые в данный момент могут быть видимыми в TreeTableView. |
DoubleProperty | fixedCellSize | Указывает, имеют ли ячейки этого элемента управления фиксированную высоту (указанного значения). |
ObjectProperty<TreeTableView.TreeTableViewFocusModel<S>> | focusModel | FocusModel предоставляет API, с помощью которого можно управлять фокусом на нуле или одной строке TreeTableView. |
ObjectProperty<EventHandler<ScrollToEvent<TreeTableColumn<S,?>>>> | onScrollToColumn | Вызывается при запросе прокрутки столбца в область видимости с помощью scrollToColumn(TreeTableColumn) или scrollToColumnIndex(int)
|
ObjectProperty<EventHandler<ScrollToEvent<Integer>>> | onScrollTo | Вызывается при запросе прокрутки индекса в область видимости с помощью scrollTo(int)
|
ObjectProperty<EventHandler<SortEvent<TreeTableView<S>>>> | onSort | Вызывается при запросе сортировки элемента управления. |
ObjectProperty<Node> | placeholder | Этот узел отображается пользователю, когда в таблице нет данных для отображения. |
ObjectProperty<TreeItem<S>> | root | Свойство, представляющее корневой узел TreeTableView. |
ObjectProperty<Callback<TreeTableView<S>,TreeTableRow<S>>> | rowFactory | Функция, которая создает TreeTableRow. |
ObjectProperty<TreeTableView.TreeTableViewSelectionModel<S>> | selectionModel | SelectionModel предоставляет API, с помощью которого можно выбирать одну или несколько элементов в TreeTableView, а также проверять, какие строки были выбраны пользователем. |
BooleanProperty | showRoot | Свойство, указывающее, отображается ли корневой узел TreeTableView. |
ObjectProperty<TreeSortMode> | sortMode | Задает режим сортировки, который нужно использовать при сортировке содержимого этого TreeTableView, если в списке sort order указаны какие-либо столбцы. |
ObjectProperty<Callback<TreeTableView<S>,Boolean>> | sortPolicy | Политика сортировки определяет, как должна выполняться сортировка в этом TreeTableView. |
BooleanProperty | tableMenuButtonVisible | Это управляет тем, доступна ли кнопка меню, когда пользователь щелкает в выделенном пространстве в TableView, в котором находится элемент меню-переключатель для каждого TreeTableColumn в этой таблице. |
ObjectProperty<TreeTableColumn<S,?>> | treeColumn | Свойство, указывающее, в каком столбце должен отображаться узел раскрытия (то есть столбец со стрелкой). |
Свойства, объявленные в классе 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 | TreeTableView.EditEvent<S> | Подкласс Event, используемый специально в TreeTableView для представления событий, связанных с редактированием. |
static class | TreeTableView.ResizeFeatures<S> | Неизменяемый оберточный класс для использования в функциональности TableView column resize. |
static class | TreeTableView.TreeTableViewFocusModel<S> | Класс FocusModel с дополнительными функциями для поддержки требований элемента управления TableView. |
static class | TreeTableView.TreeTableViewSelectionModel<S> | Простой расширенный класс SelectionModel для поддержки особых функций для элементов управления TreeTableView. |
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static Callback<TreeTableView.ResizeFeatures,Boolean> | CONSTRAINED_RESIZE_POLICY | Простая политика, которая гарантирует, что сумма ширины всех видимых столбцов-листьев в этой таблице равна ширине самой таблицы. |
static Callback<TreeTableView,Boolean> | DEFAULT_SORT_POLICY | По умолчанию sort policy, который будет использовать этот TreeTableView, если не указана другая политика. |
static Callback<TreeTableView.ResizeFeatures,Boolean> | UNCONSTRAINED_RESIZE_POLICY | Очень простая политика изменения размера, которая просто изменяет размер указанного столбца на заданный дельту и сдвигает все другие столбцы (справа от заданного столбца) дальше вправо (когда дельта положительна) или влево (когда дельта отрицательна). |
Поля, объявленные в классе javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZE
Поля, объявленные в классе javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
TreeTableView() | Создаёт пустой TreeTableView. |
TreeTableView(TreeItem<S> root) | Создаёт TreeTableView с указанным корневым узлом. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
ObjectProperty<Callback<TreeTableView.ResizeFeatures,Boolean>> | columnResizePolicyProperty() | Этот метод вызывается при завершении операции изменения размера столбца пользователем. |
ReadOnlyObjectProperty<Comparator<TreeItem<S>>> | comparatorProperty() | Свойство comparator — это свойство только для чтения, которое отражает текущее состояние списка sort order. |
void | edit(int row,
TreeTableColumn<S,?> column) | Переводит ячейку по заданным индексам строки/столбца в состояние редактирования, если оно еще не установлено, и при условии, что TableView и столбец также являются редактируемыми. |
BooleanProperty | editableProperty() | Определяет, является ли TreeTableView редактируемым — только если TreeTableView и TreeCells внутри него являются редактируемыми, TreeCell сможет перейти в состояние редактирования. |
static <S> EventType<TreeTableView.EditEvent<S>> | editAnyEvent() | Тип события, указывающий на то, что произошло какое-то событие редактирования. |
static <S> EventType<TreeTableView.EditEvent<S>> | editCancelEvent() | Тип события, используемый для указания того, что событие редактирования только что было отменено в TreeTableView, на котором было сгенерировано событие. |
static <S> EventType<TreeTableView.EditEvent<S>> | editCommitEvent() | Тип события, используемый для указания того, что редактирование в TreeTableView было подтверждено. |
ReadOnlyObjectProperty<TreeTablePosition<S,?>> | editingCellProperty() | Представляет текущую редактируемую ячейку или null, если никакая ячейка не редактируется. |
static <S> EventType<TreeTableView.EditEvent<S>> | editStartEvent() | Тип события, используемый для указания того, что событие редактирования началось в TreeTableView, на котором было сгенерировано событие. |
ReadOnlyIntegerProperty | expandedItemCountProperty() | Представляет количество узлов дерева, которые могут быть видимыми в TreeTableView. |
DoubleProperty | fixedCellSizeProperty() | Указывает, имеют ли ячейки этого элемента управления фиксированный размер (заданного значения). |
ObjectProperty<TreeTableView.TreeTableViewFocusModel<S>> | focusModelProperty() | FocusModel предоставляет API, с помощью которого можно управлять фокусом на нулевых или одной строке TreeTableView. |
static List<CssMetaData<? extends Styleable,?>> | getClassCssMetaData() | |
Callback<TreeTableView.ResizeFeatures,Boolean> | getColumnResizePolicy() | Возвращает значение свойства columnResizePolicy. |
ObservableList<TreeTableColumn<S,?>> | getColumns() | TreeTableColumns, которые являются частью этой TableView. |
Comparator<TreeItem<S>> | getComparator() | Возвращает значение свойства comparator. |
List<CssMetaData<? extends Styleable,?>> | getControlCssMetaData() | |
TreeTablePosition<S,?> | getEditingCell() | Возвращает значение свойства editingCell. |
int | getExpandedItemCount() | Возвращает значение свойства expandedItemCount. |
double | getFixedCellSize() | Возвращает значение фиксированного размера ячейки. |
TreeTableView.TreeTableViewFocusModel<S> | getFocusModel() | Возвращает текущую установленную FocusModel. |
static int | getNodeLevel(TreeItem<?> node) | Устарело. Этот метод неправильно вычисляет расстояние от заданного TreeItem до корня TreeTableView. |
EventHandler<ScrollToEvent<Integer>> | getOnScrollTo() | Возвращает значение свойства onScrollTo. |
EventHandler<ScrollToEvent<TreeTableColumn<S,?>>> | getOnScrollToColumn() | Возвращает значение свойства onScrollToColumn. |
EventHandler<SortEvent<TreeTableView<S>>> | getOnSort() | Возвращает значение свойства onSort. |
Node | getPlaceholder() | Возвращает значение свойства placeholder. |
TreeItem<S> | getRoot() | Возвращает текущий корневой узел TreeTableView или null, если корневой узел не задан. |
int | getRow(TreeItem<S> item) | Возвращает позицию индекса заданного TreeItem, предполагая, что он в настоящее время доступен через иерархию дерева (в частности, что все родительские элементы дерева развернуты). |
Callback<TreeTableView<S>,TreeTableRow<S>> | getRowFactory() | Возвращает значение свойства rowFactory. |
TreeTableView.TreeTableViewSelectionModel<S> | getSelectionModel() | Возвращает текущий установленный модель выбора. |
TreeSortMode | getSortMode() | Возвращает значение свойства sortMode. |
ObservableList<TreeTableColumn<S,?>> | getSortOrder() | Список sortOrder определяет порядок, в котором TreeTableColumn экземпляры сортируются. |
Callback<TreeTableView<S>,Boolean> | getSortPolicy() | Возвращает значение свойства sortPolicy. |
TreeTableColumn<S,?> | getTreeColumn() | Возвращает значение свойства treeColumn. |
TreeItem<S> | getTreeItem(int row) | Возвращает TreeItem в заданном индексе или null, если он вне пределов. |
int | getTreeItemLevel(TreeItem<?> node) | Возвращает количество уровней «отступов» заданного TreeItem, в зависимости от того, сколько раз можно рекурсивно вызвать getParent(). |
TreeTableColumn<S,?> | getVisibleLeafColumn(int column) | Возвращает TreeTableColumn в заданном индексе столбца, относительно всех других видимых столбцов-листьев. |
ObservableList<TreeTableColumn<S,?>> | getVisibleLeafColumns() | Возвращает неизменяемый список, содержащий текущие видимые столбцы-листья. |
int | getVisibleLeafIndex(TreeTableColumn<S,?> column) | Возвращает позицию заданного столбца, относительно всех других видимых столбцов-листьев. |
boolean | isEditable() | Получает значение свойства editable. |
|---|---|---|
boolean | isShowRoot() | Возвращает true, если корень TreeTableView должен быть показан, и false, если нет. |
boolean | isTableMenuButtonVisible() | Получает значение свойства tableMenuButtonVisible. |
ObjectProperty<EventHandler<ScrollToEvent<TreeTableColumn<S,?>>>> | onScrollToColumnProperty() | Вызывается при запросе прокрутки столбца в область видимости с помощью scrollToColumn(TreeTableColumn) или scrollToColumnIndex(int)
|
ObjectProperty<EventHandler<ScrollToEvent<Integer>>> | onScrollToProperty() | Вызывается при запросе прокрутки индекса в область видимости с помощью scrollTo(int)
|
ObjectProperty<EventHandler<SortEvent<TreeTableView<S>>>> | onSortProperty() | Вызывается при запросе сортировки управления. |
ObjectProperty<Node> | placeholderProperty() | Этот узел отображается пользователю, когда в таблице нет отображаемых данных. |
void | refresh() | Вызов refresh() заставляет элемент управления TreeTableView пересоздать и повторно заполнить ячейки, необходимые для заполнения визуальных границ управления. |
boolean | resizeColumn(TreeTableColumn<S,?> column,
double delta) | Применяет текущую политику изменения размера к заданному столбцу, изменяя его размер на основе предоставленного значения разницы. |
ObjectProperty<TreeItem<S>> | rootProperty() | Свойство, представляющее корневой узел TreeTableView. |
ObjectProperty<Callback<TreeTableView<S>,TreeTableRow<S>>> | rowFactoryProperty() | Функция, которая создает TreeTableRow. |
void | scrollTo(int index) | Прокручивает TreeTableView таким образом, что элемент в заданном индексе становится видимым для пользователя. |
void | scrollToColumn(TreeTableColumn<S,?> column) | Прокручивает TreeTableView так, чтобы заданный столбец был виден в области просмотра. |
void | scrollToColumnIndex(int columnIndex) | Прокручивает TreeTableView так, чтобы заданный индекс был виден в области просмотра. |
ObjectProperty<TreeTableView.TreeTableViewSelectionModel<S>> | selectionModelProperty() | SelectionModel предоставляет API, с помощью которого можно выделять один или несколько элементов в TreeTableView, а также проверять, какие строки были выделены пользователем. |
void | setColumnResizePolicy(Callback<TreeTableView.ResizeFeatures,Boolean> callback) | Устанавливает значение свойства columnResizePolicy. |
void | setEditable(boolean value) | Устанавливает значение свойства editable. |
void | setFixedCellSize(double value) | Устанавливает новый фиксированный размер ячейки для этого элемента управления. |
void | setFocusModel(TreeTableView.TreeTableViewFocusModel<S> value) | Устанавливает FocusModel для использования в TreeTableView. |
void | setOnScrollTo(EventHandler<ScrollToEvent<Integer>> value) | Устанавливает значение свойства onScrollTo. |
void | setOnScrollToColumn(EventHandler<ScrollToEvent<TreeTableColumn<S,?>>> value) | Устанавливает значение свойства onScrollToColumn. |
void | setOnSort(EventHandler<SortEvent<TreeTableView<S>>> value) | Устанавливает значение свойства onSort. |
void | setPlaceholder(Node value) | Устанавливает значение свойства placeholder. |
void | setRoot(TreeItem<S> value) | Устанавливает корневой узел в этом TreeTableView. |
void | setRowFactory(Callback<TreeTableView<S>,TreeTableRow<S>> value) | Устанавливает значение свойства rowFactory. |
void | setSelectionModel(TreeTableView.TreeTableViewSelectionModel<S> value) | Устанавливает MultipleSelectionModel для использования в TreeTableView. |
void | setShowRoot(boolean value) | Указывает, следует ли отображать корневой TreeItem в этом TreeTableView. |
void | setSortMode(TreeSortMode value) | Устанавливает значение свойства sortMode. |
void | setSortPolicy(Callback<TreeTableView<S>,Boolean> callback) | Устанавливает значение свойства sortPolicy. |
void | setTableMenuButtonVisible(boolean value) | Устанавливает значение свойства tableMenuButtonVisible. |
void | setTreeColumn(TreeTableColumn<S,?> value) | Устанавливает значение свойства treeColumn. |
BooleanProperty | showRootProperty() | Свойство, представляющее, отображается ли корневой узел TreeTableView. |
void | sort() | Метод сортировки заставляет TreeTableView повторно выполнить алгоритм сортировки. |
ObjectProperty<TreeSortMode> | sortModeProperty() | Указывает режим сортировки, который следует использовать при сортировке содержимого этого TreeTableView, если столбцы указаны в списке sort order. |
ObjectProperty<Callback<TreeTableView<S>,Boolean>> | sortPolicyProperty() | Политика сортировки определяет, как должна выполняться сортировка в этом TreeTableView. |
BooleanProperty | tableMenuButtonVisibleProperty() | Управляет наличием кнопки меню, когда пользователь нажимает в определенном месте в TableView, в котором находится пункт меню-переключатель для каждого TreeTableColumn в этой таблице. |
ObjectProperty<TreeTableColumn<S,?>> | treeColumnProperty() | Свойство, которое указывает, в каком столбце должен быть показан узел раскрытия (то есть, столбец со стрелкой). |
Methods declared in class javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, contextMenuProperty, createDefaultSkin, getContextMenu, getCssMetaData, getInitialFocusTraversable, getTooltip, isResizable, setContextMenu, setTooltip, skinProperty, tooltipProperty
Methods declared in class 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
Подробные сведения о свойствах
root
public final ObjectProperty<TreeItem<S>> rootProperty
- См. также:
-
getRoot(),setRoot(TreeItem)
showRoot
public final BooleanProperty showRootProperty
- См. также:
-
isShowRoot(),setShowRoot(boolean)
treeColumn
public final ObjectProperty<TreeTableColumn<S,?>> treeColumnProperty
visible leaf columns.- См. также:
-
getTreeColumn(),setTreeColumn(TreeTableColumn)
selectionModel
public final ObjectProperty<TreeTableView.TreeTableViewSelectionModel<S>> selectionModelProperty
- См. также:
-
getSelectionModel(),setSelectionModel(TreeTableView.TreeTableViewSelectionModel)
focusModel
public final ObjectProperty<TreeTableView.TreeTableViewFocusModel<S>> focusModelProperty
- См. также:
-
getFocusModel(),setFocusModel(TreeTableView.TreeTableViewFocusModel)
expandedItemCount
public final ReadOnlyIntegerProperty expandedItemCountProperty
Представляет количество узлов дерева, которые в данный момент могут быть видимыми в TreeTableView. Это по существу счет всех развернутых элементов дерева и их потомков.
Например, если виден только корневой узел, expandedItemCount будет равен одному. Если у корня было три дочерних элемента и корень был развернут, значение будет равно четырем.
- См. также:
getExpandedItemCount()
editable
public final BooleanProperty editableProperty
- См. также:
-
isEditable(),setEditable(boolean)
editingCell
public final ReadOnlyObjectProperty<TreeTablePosition<S,?>> editingCellProperty
- См. также:
getEditingCell()
tableMenuButtonVisible
public final BooleanProperty tableMenuButtonVisibleProperty
- См. также:
-
isTableMenuButtonVisible(),setTableMenuButtonVisible(boolean)
columnResizePolicy
public final ObjectProperty<Callback<TreeTableView.ResizeFeatures,Boolean>> columnResizePolicyProperty
UNCONSTRAINED_RESIZE_POLICY и CONSTRAINED_RESIZE_POLICY.- См. также:
-
getColumnResizePolicy(),setColumnResizePolicy(Callback)
rowFactory
public final ObjectProperty<Callback<TreeTableView<S>,TreeTableRow<S>>> rowFactoryProperty
Обратите внимание, что TreeTableRow - это не TableCell. TreeTableRow - это просто контейнер для TableCell, и в большинстве случаев скорее всего вы захотите создать пользовательские TableCells, а не TreeTableRows. Основной случай использования для создания пользовательских экземпляров TreeTableRow, скорее всего, будет заключаться во введении поддержки разнесения столбцов.
Вы можете создавать пользовательские экземпляры TableCell для каждого столбца, назначив соответствующую функцию свойству cellFactory в классе TreeTableColumn.
- См. также:
-
getRowFactory(),setRowFactory(Callback)
placeholder
public final ObjectProperty<Node> placeholderProperty
- См. также:
-
getPlaceholder(),setPlaceholder(Node)
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)
sortMode
public final ObjectProperty<TreeSortMode> sortModeProperty
sort order.- См. также:
-
getSortMode(),setSortMode(TreeSortMode)
comparator
public final ReadOnlyObjectProperty<Comparator<TreeItem<S>>> comparatorProperty
sort order. Список порядка сортировки содержит столбцы, которые были добавлены в него программно или с помощью щелчка пользователя по самим заголовкам.- См. также:
getComparator()
sortPolicy
public final ObjectProperty<Callback<TreeTableView<S>,Boolean>> sortPolicyProperty
TreeTableView поставляется с default
sort policy, который делает именно то, что упомянуто выше: он просто пытается отсортировать иерархию дерева на месте.
Рекомендуется, чтобы вместо переопределения метода sort был предоставлен другой метод политики сортировки.
- См. также:
-
getSortPolicy(),setSortPolicy(Callback)
onSort
public ObjectProperty<EventHandler<SortEvent<TreeTableView<S>>>> onSortProperty
- См. также:
-
getOnSort(),setOnSort(EventHandler)
onScrollTo
public ObjectProperty<EventHandler<ScrollToEvent<Integer>>> onScrollToProperty
scrollTo(int)
- См. также:
-
getOnScrollTo(),setOnScrollTo(EventHandler)
onScrollToColumn
public ObjectProperty<EventHandler<ScrollToEvent<TreeTableColumn<S,?>>>> onScrollToColumnProperty
scrollToColumn(TreeTableColumn) или scrollToColumnIndex(int)
- См. также:
-
getOnScrollToColumn(),setOnScrollToColumn(EventHandler)
Подробное описание полей
UNCONSTRAINED_RESIZE_POLICY
public static final Callback<TreeTableView.ResizeFeatures,Boolean> UNCONSTRAINED_RESIZE_POLICY
Очень простая политика изменения размера, которая просто изменяет размер указанного столбца на заданный дельту и сдвигает все другие столбцы (справа от данного столбца) дальше вправо (если дельта положительна) или влево (если дельта отрицательна).
Она также обрабатывает случаи вложенных столбцов, распределяя новое пространство или вычитая удаленное пространство равномерно между всеми непосредственными дочерними столбцами. Конечно, непосредственные дочерние элементы могут быть вложены, и тогда они будут использовать эту политику для своих дочерних элементов.
CONSTRAINED_RESIZE_POLICY
public static final Callback<TreeTableView.ResizeFeatures,Boolean> CONSTRAINED_RESIZE_POLICY
Простая политика, которая гарантирует, что сумма ширин всех видимых столбцов-листьев в этой таблице равна ширине самой таблицы.
При изменении ширины столбца пользователем с помощью этой политики таблица автоматически корректирует ширину столбцов справа. При увеличении ширины столбца таблица уменьшает ширину правого столбца до достижения его минимальной ширины. Затем она уменьшает ширину второго справа столбца до минимальной ширины и так далее. Когда все столбцы справа достигают минимального размера, пользователь больше не может увеличить размер измененного столбца.
DEFAULT_SORT_POLICY
public static final Callback<TreeTableView,Boolean> DEFAULT_SORT_POLICY
sort policy, который будет использоваться этой TreeTableView, если не указана другая политика. Политика сортировки — это простая Callback, которая принимает TreeTableView в качестве единственного аргумента и ожидает булевый ответ, представляющий, прошла ли сортировка успешно или нет. Булевый ответ true указывает на успех, а ответ false (или null) будет рассматриваться как неудача.Подробное описание конструкторов
TreeTableView
public TreeTableView()
Дополнительные сведения об исходном состоянии других свойств см. в документации по классу TreeTableView.
TreeTableView
public TreeTableView(TreeItem<S> root)
Дополнительные сведения об исходном состоянии других свойств см. в документации по классу TreeTableView.
- Параметры:
-
root— Узел, который будет корнем в этой TreeTableView.
Подробное описание методов
editAnyEvent
public static <S> EventType<TreeTableView.EditEvent<S>> editAnyEvent()
editStartEvent(), editCommitEvent() и editCancelEvent().- Параметры типа:
-
S— Тип экземпляров TreeItem, используемых в этой TreeTableView - Возвращает:
- Тип события, указывающий на то, что произошло какое-либо событие редактирования
editStartEvent
public static <S> EventType<TreeTableView.EditEvent<S>> editStartEvent()
- Параметры типа:
-
S— Тип экземпляров TreeItem, используемых в этой TreeTableView - Возвращает:
- Тип события, используемый для указания того, что событие редактирования началось
editCancelEvent
public static <S> EventType<TreeTableView.EditEvent<S>> editCancelEvent()
- Параметры типа:
-
S— Тип экземпляров TreeItem, используемых в этой TreeTableView - Возвращает:
- Тип события, используемый для указания того, что событие редактирования было отменено
editCommitEvent
public static <S> EventType<TreeTableView.EditEvent<S>> editCommitEvent()
- Параметры типа:
-
S— Тип экземпляров TreeItem, используемых в этой TreeTableView - Возвращает:
- Тип события, используемый для указания того, что редактирование в TreeTableView было завершено
getNodeLevel
@Deprecated(since="8u20") public static int getNodeLevel(TreeItem<?> node)
getTreeItemLevel(TreeItem)
TreeItem.getParent(). Если у TreeItem нет родителя, возвращаемое значение будет равно нулю. Каждый раз, когда рекурсивно вызывается getParent(), возвращаемое значение увеличивается на единицу. Важное примечание: Этот метод устарел, так как не учитывает узел корня. Это означает, что этот метод будет переходить через узел корня управления TreeTableView, если у узла корня есть родитель. Если это важно, используйте getTreeItemLevel(TreeItem) вместо этого.
- Параметры:
-
node— TreeItem, для которого требуется уровень. - Возвращает:
- Целое число, представляющее количество родителей над данным узлом, или -1, если данный TreeItem равен null.
setRoot
public final void setRoot(TreeItem<S> value)
TreeItem для получения более подробной информации.- Параметры:
-
value—TreeItem, который будет размещен в корне TreeTableView.
getRoot
public final TreeItem<S> getRoot()
- Возвращает:
- Текущий узел корня или null, если узел корня отсутствует.
rootProperty
public final ObjectProperty<TreeItem<S>> rootProperty()
- См. также:
-
getRoot(),setRoot(TreeItem)
setShowRoot
public final void setShowRoot(boolean value)
TreeItem в этой TreeTableView.- Параметры:
-
value— Если true, узел корня TreeItem будет отображаться, а если false — будет скрыт.
isShowRoot
public final boolean isShowRoot()
- Возвращает:
- true, если корень TreeTableView должен быть отображён
showRootProperty
public final BooleanProperty showRootProperty()
- См. также:
-
isShowRoot(),setShowRoot(boolean)
treeColumnProperty
public final ObjectProperty<TreeTableColumn<S,?>> treeColumnProperty()
visible leaf columns.- См. также:
-
getTreeColumn(),setTreeColumn(TreeTableColumn)
setTreeColumn
public final void setTreeColumn(TreeTableColumn<S,?> value)
- Описание свойства:
- Свойство, указывающее, в каком столбце должен отображаться узел раскрытия (то есть столбец со стрелкой). По умолчанию это будет самый левый столбец, если это свойство null, в противном случае это будет указанный столбец, предполагая, что он не null и находится в списке
visible leaf columns.
getTreeColumn
public final TreeTableColumn<S,?> getTreeColumn()
- Описание свойства:
- Свойство, представляющее столбец, в котором должен отображаться узел раскрытия (то есть столбец со стрелкой). По умолчанию это будет самый левый столбец, если это свойство равно null, в противном случае это будет указанный столбец, предполагая, что он не равен null и содержится в списке
visible leaf columns.
setSelectionModel
public final void setSelectionModel(TreeTableView.TreeTableViewSelectionModel<S> value)
MultipleSelectionModel для использования в TreeTableView. Несмотря на то, что TreeTableView требует MultipleSelectionModel, возможно настроить его так, чтобы разрешалась только одиночная выборка (см. MultipleSelectionModel.setSelectionMode(javafx.scene.control.SelectionMode) для получения дополнительной информации).- Параметры:
-
value- используемыйMultipleSelectionModel
getSelectionModel
public final TreeTableView.TreeTableViewSelectionModel<S> getSelectionModel()
- Возвращает:
- текущую установленную модель выбора
selectionModelProperty
public final ObjectProperty<TreeTableView.TreeTableViewSelectionModel<S>> selectionModelProperty()
- См. также:
-
getSelectionModel(),setSelectionModel(TreeTableView.TreeTableViewSelectionModel)
setFocusModel
public final void setFocusModel(TreeTableView.TreeTableViewFocusModel<S> value)
FocusModel для использования в TreeTableView.- Параметры:
-
value- используемыйFocusModel
getFocusModel
public final TreeTableView.TreeTableViewFocusModel<S> getFocusModel()
FocusModel.- Возвращает:
- текущую установленную
FocusModel
focusModelProperty
public final ObjectProperty<TreeTableView.TreeTableViewFocusModel<S>> focusModelProperty()
- См. также:
-
getFocusModel(),setFocusModel(TreeTableView.TreeTableViewFocusModel)
expandedItemCountProperty
public final ReadOnlyIntegerProperty expandedItemCountProperty()
Представляет количество узлов дерева, которые в данный момент могут быть видны в TreeTableView. По существу, это количество всех развернутых элементов дерева и их потомков.
Например, если виден только корневой узел, expandedItemCount будет равен единице. Если у корня было три дочерних элемента и корень был развернут, значение будет равно четырем.
- См. также:
getExpandedItemCount()
getExpandedItemCount
public final int getExpandedItemCount()
- Описание свойства:
-
Представляет количество узлов дерева, которые в данный момент могут быть видны в TreeTableView. По существу, это количество всех развернутых элементов дерева и их потомков.
Например, если виден только корневой узел, expandedItemCount будет равен единице. Если у корня было три дочерних элемента и корень был развернут, значение будет равно четырем.
setEditable
public final void setEditable(boolean value)
- Описание свойства:
- Указывает, редактируема ли эта TreeTableView — только если TreeTableView и TreeCells в ней редактируемы, TreeCell сможет перейти в состояние редактирования.
isEditable
public final boolean isEditable()
- Описание свойства:
- Указывает, редактируема ли эта TreeTableView — только если TreeTableView и TreeCells в ней редактируемы, TreeCell сможет перейти в состояние редактирования.
editableProperty
public final BooleanProperty editableProperty()
- См. также:
-
isEditable(),setEditable(boolean)
getEditingCell
public final TreeTablePosition<S,?> getEditingCell()
- Описание свойства:
- Представляет текущую редактируемую ячейку или null, если ячейка не редактируется.
editingCellProperty
public final ReadOnlyObjectProperty<TreeTablePosition<S,?>> editingCellProperty()
- См. также:
getEditingCell()
tableMenuButtonVisibleProperty
public final BooleanProperty tableMenuButtonVisibleProperty()
- См. также:
-
isTableMenuButtonVisible(),setTableMenuButtonVisible(boolean)
setTableMenuButtonVisible
public final void setTableMenuButtonVisible(boolean value)
- Описание свойства:
- Контролирует, доступна ли кнопка меню, когда пользователь щелкает в выделенной области внутри TableView, в которой находится элемент меню радиокнопки для каждой TreeTableColumn в этой таблице. Это меню позволяет пользователю легко показывать и скрывать все TreeTableColumns.
isTableMenuButtonVisible
public final boolean isTableMenuButtonVisible()
- Описание свойства:
- Контролирует, доступна ли кнопка меню, когда пользователь щелкает в выделенной области внутри TableView, в которой находится элемент меню радиокнопки для каждой TreeTableColumn в этой таблице. Это меню позволяет пользователю легко показывать и скрывать все TreeTableColumns.
setColumnResizePolicy
public final void setColumnResizePolicy(Callback<TreeTableView.ResizeFeatures,Boolean> callback)
- Описание свойства:
- Это функция, вызываемая при завершении операции изменения размера столбца. Две наиболее распространенные политики доступны как статические функции в классе TableView:
UNCONSTRAINED_RESIZE_POLICYиCONSTRAINED_RESIZE_POLICY.
getColumnResizePolicy
public final Callback<TreeTableView.ResizeFeatures,Boolean> getColumnResizePolicy()
- Описание свойства:
- Это функция, вызываемая при завершении операции изменения размера столбца. Две наиболее распространенные политики доступны как статические функции в классе TableView:
UNCONSTRAINED_RESIZE_POLICYиCONSTRAINED_RESIZE_POLICY.
columnResizePolicyProperty
public final ObjectProperty<Callback<TreeTableView.ResizeFeatures,Boolean>> columnResizePolicyProperty()
UNCONSTRAINED_RESIZE_POLICY и CONSTRAINED_RESIZE_POLICY.- См. также:
-
getColumnResizePolicy(),setColumnResizePolicy(Callback)
rowFactoryProperty
public final ObjectProperty<Callback<TreeTableView<S>,TreeTableRow<S>>> rowFactoryProperty()
Обратите внимание, что TreeTableRow — это не TableCell. TreeTableRow — это просто контейнер для TableCell, и в большинстве случаев скорее всего вам захочется создать настраиваемые TableCell, а не TreeTableRows. Основной случай использования для создания пользовательских экземпляров TreeTableRow, вероятно, будет заключаться во введении какой-либо формы поддержки столбцового размаха.
Вы можете создать настраиваемые экземпляры TableCell для каждого столбца, назначив соответствующую функцию свойству cellFactory в классе TreeTableColumn.
- См. также:
-
getRowFactory(),setRowFactory(Callback)
setRowFactory
public final void setRowFactory(Callback<TreeTableView<S>,TreeTableRow<S>> value)
- Описание свойства:
- Функция, которая создаёт объект TreeTableRow. Система отвечает за повторное использование TreeTableRows. Функция должна возвращать объект TreeTableRow, который может использоваться для представления отдельной строки в TableView.
Обратите внимание, что TreeTableRow — это не TableCell. TreeTableRow — это просто контейнер для TableCell, и в большинстве случаев предпочтительнее создавать пользовательские TableCell, а не TreeTableRows. Основной случай использования создания пользовательских TreeTableRow — добавление поддержки обхода столбцов.
Вы можете создавать пользовательские TableCell для каждого столбца, назначив соответствующую функцию свойству cellFactory в классе TreeTableColumn.
getRowFactory
public final Callback<TreeTableView<S>,TreeTableRow<S>> getRowFactory()
- Описание свойства:
- Функция, которая создаёт объект TreeTableRow. Система отвечает за повторное использование TreeTableRows. Функция должна возвращать объект TreeTableRow, который может использоваться для представления отдельной строки в TableView.
Обратите внимание, что TreeTableRow — это не TableCell. TreeTableRow — это просто контейнер для TableCell, и в большинстве случаев предпочтительнее создавать пользовательские TableCell, а не TreeTableRows. Основной случай использования создания пользовательских TreeTableRow — добавление поддержки обхода столбцов.
Вы можете создавать пользовательские TableCell для каждого столбца, назначив соответствующую функцию свойству cellFactory в классе TreeTableColumn.
placeholderProperty
public final ObjectProperty<Node> placeholderProperty()
- См. также:
-
getPlaceholder(),setPlaceholder(Node)
setPlaceholder
public final void setPlaceholder(Node value)
- Описание свойства:
- Этот узел отображается пользователю, когда таблица не содержит данных для отображения. Это может быть вызвано тем, что у модели таблицы нет данных, что фильтр был применён к модели таблицы, в результате чего ничего не отображается пользователю, или что нет видимых столбцов.
getPlaceholder
public final Node getPlaceholder()
- Описание свойства:
- Этот узел отображается пользователю, когда таблица не содержит данных для отображения. Это может быть вызвано тем, что у модели таблицы нет данных, что фильтр был применён к модели таблицы, в результате чего ничего не отображается пользователю, или что нет видимых столбцов.
setFixedCellSize
public final void setFixedCellSize(double value)
- Параметры:
-
value- Новое значение фиксированного размера ячейки или значение меньше или равно нулю (или Region.USE_COMPUTED_SIZE) для отключения. - С:
- JavaFX 8.0
getFixedCellSize
public final double getFixedCellSize()
- Возвращает:
- Число с плавающей запятой, представляющее фиксированный размер ячейки этого элемента управления, или значение меньше или равно нулю, если режим фиксированного размера ячейки отключён.
- С:
- JavaFX 8.0
fixedCellSizeProperty
public final DoubleProperty fixedCellSizeProperty()
Чтобы установить это свойство через CSS, используйте свойство -fx-fixed-cell-size. Это не следует путать со свойством -fx-cell-size. Разница между этими двумя CSS-свойствами заключается в том, что -fx-cell-size установит размер всех ячеек до указанного размера, но не будет гарантировать, что это единственный размер (позволяя переменные размеры ячеек и предотвращая получение прироста производительности). Поэтому, когда важна производительность, используйте -fx-fixed-cell-size вместо -fx-cell-size. Если оба свойства указаны в CSS, -fx-fixed-cell-size имеет приоритет.
- С:
- JavaFX 8.0
- См. также:
-
getFixedCellSize(),setFixedCellSize(double)
sortModeProperty
public final ObjectProperty<TreeSortMode> sortModeProperty()
sort order.- См. также:
-
getSortMode(),setSortMode(TreeSortMode)
setSortMode
public final void setSortMode(TreeSortMode value)
- Описание свойства:
- Определяет режим сортировки, который нужно использовать при сортировке содержимого этого TreeTableView, если какие-либо столбцы указаны в списке
sort order.
getSortMode
public final TreeSortMode getSortMode()
- Описание свойства:
- Определяет режим сортировки, который нужно использовать при сортировке содержимого этого TreeTableView, если какие-либо столбцы указаны в списке
sort order.
getComparator
public final Comparator<TreeItem<S>> getComparator()
- Описание свойства:
- Свойство comparator — это свойство только для чтения, которое отражает текущее состояние списка
sort order. Список порядка сортировки содержит столбцы, которые были добавлены в него программно или путём нажатия пользователем на заголовки.
comparatorProperty
public final ReadOnlyObjectProperty<Comparator<TreeItem<S>>> comparatorProperty()
sort order. Список порядка сортировки содержит столбцы, которые были добавлены в него программно или путём нажатия пользователем на заголовки.- См. также:
getComparator()
setSortPolicy
public final void setSortPolicy(Callback<TreeTableView<S>,Boolean> callback)
- Описание свойства:
- Политика сортировки определяет, как должна выполняться сортировка в этом TreeTableView. Например, базовая политика сортировки может просто рекурсивно сортировать потомков корневого элемента дерева, в то время как более продвинутая политика сортировки может обращаться к базе данных для выполнения необходимой сортировки на стороне сервера.
TreeTableView поставляется с политикой сортировки
default sort policy, которая делает именно то, что описано выше: она просто пытается отсортировать иерархию дерева на месте.Рекомендуется, вместо переопределения метода
sort, предоставить другую политику сортировки.
getSortPolicy
public final Callback<TreeTableView<S>,Boolean> getSortPolicy()
- Описание свойства:
- Политика сортировки определяет, как должна выполняться сортировка в этом TreeTableView. Например, базовая политика сортировки может просто рекурсивно сортировать потомков корневого элемента дерева, в то время как более продвинутая политика сортировки может обращаться к базе данных для выполнения необходимой сортировки на стороне сервера.
TreeTableView поставляется с политикой сортировки
default sort policy, которая делает именно то, что описано выше: она просто пытается отсортировать иерархию дерева на месте.Рекомендуется, вместо переопределения метода
sort, предоставить другую политику сортировки.
sortPolicyProperty
public final ObjectProperty<Callback<TreeTableView<S>,Boolean>> sortPolicyProperty()
TreeTableView поставляется с политикой сортировки default
sort policy, которая делает именно то, что описано выше: она просто пытается отсортировать иерархию дерева на месте.
Рекомендуется, вместо переопределения метода sort, предоставить другую политику сортировки.
- См. также:
-
getSortPolicy(),setSortPolicy(Callback)
setOnSort
public void setOnSort(EventHandler<SortEvent<TreeTableView<S>>> value)
- Описание свойства:
- Вызывается, когда есть запрос на сортировку элемента управления.
getOnSort
public EventHandler<SortEvent<TreeTableView<S>>> getOnSort()
- Описание свойства:
- Вызывается при запросе сортировки элемента управления.
onSortProperty
public ObjectProperty<EventHandler<SortEvent<TreeTableView<S>>>> onSortProperty()
- См. также:
-
getOnSort(),setOnSort(EventHandler)
scrollTo
public void scrollTo(int index)
- Параметры:
-
index- Индекс элемента, который должен быть виден пользователю, предполагается, что он больше или равен 0 и меньше количества видимых элементов в TreeTableView.
setOnScrollTo
public void setOnScrollTo(EventHandler<ScrollToEvent<Integer>> value)
- Описание свойства:
- Вызывается при запросе прокрутки индекса в область видимости с помощью
scrollTo(int)
getOnScrollTo
public EventHandler<ScrollToEvent<Integer>> getOnScrollTo()
- Описание свойства:
- Вызывается при запросе прокрутки индекса в область видимости с помощью
scrollTo(int)
onScrollToProperty
public ObjectProperty<EventHandler<ScrollToEvent<Integer>>> onScrollToProperty()
scrollTo(int)
- См. также:
-
getOnScrollTo(),setOnScrollTo(EventHandler)
scrollToColumn
public void scrollToColumn(TreeTableColumn<S,?> column)
- Параметры:
-
column- Столбец, который должен быть виден пользователю.
scrollToColumnIndex
public void scrollToColumnIndex(int columnIndex)
- Параметры:
-
columnIndex- Индекс столбца, который должен быть виден пользователю.
setOnScrollToColumn
public void setOnScrollToColumn(EventHandler<ScrollToEvent<TreeTableColumn<S,?>>> value)
- Описание свойства:
- Вызывается при запросе прокрутки столбца в область видимости с помощью
scrollToColumn(TreeTableColumn)илиscrollToColumnIndex(int)
getOnScrollToColumn
public EventHandler<ScrollToEvent<TreeTableColumn<S,?>>> getOnScrollToColumn()
- Описание свойства:
- Вызывается при запросе прокрутки столбца в область видимости с помощью
scrollToColumn(TreeTableColumn)илиscrollToColumnIndex(int)
onScrollToColumnProperty
public ObjectProperty<EventHandler<ScrollToEvent<TreeTableColumn<S,?>>>> onScrollToColumnProperty()
scrollToColumn(TreeTableColumn) или scrollToColumnIndex(int)
- См. также:
-
getOnScrollToColumn(),setOnScrollToColumn(EventHandler)
getRow
public int getRow(TreeItem<S> item)
- Параметры:
-
item- TreeItem, для которого ищется индекс. - Возвращает:
- Целое число, представляющее местоположение в текущем TreeTableView первого экземпляра заданного TreeItem, или -1, если он равен null или не найден (например, если родительский элемент (до корня) свёрнут).
getTreeItem
public TreeItem<S> getTreeItem(int row)
- Параметры:
-
row- Индекс искомого TreeItem. - Возвращает:
- TreeItem с заданным индексом или null, если индекс вне диапазона.
getTreeItemLevel
public int getTreeItemLevel(TreeItem<?> node)
- Параметры:
-
node- TreeItem, для которого требуется уровень. - Возвращает:
- Целое число, представляющее количество родителей над заданным узлом, или -1, если заданный TreeItem равен null.
getColumns
public final ObservableList<TreeTableColumn<S,?>> getColumns()
Примечание: для отображения данных в TableView должен быть хотя бы один TreeTableColumn в этом ObservableList.
- Возвращает:
- столбец таблицы
getSortOrder
public final ObservableList<TreeTableColumn<S,?>> getSortOrder()
TreeTableColumn. Пустой список sortOrder означает, что на TableView не применяется сортировка. Если список sortOrder содержит один TreeTableColumn, TableView будет отсортирован с использованием свойств sortType и comparator этого TreeTableColumn (при условии, что TreeTableColumn.sortable имеет значение true). Если список sortOrder содержит несколько экземпляров TreeTableColumn, то TableView сначала сортируется на основе свойств первого TreeTableColumn. Если два элемента считаются равными, то для определения порядка используется второй TreeTableColumn в списке. Это повторяется до тех пор, пока результаты сравнения всех TreeTableColumn не будут рассмотрены, если это необходимо.- Возвращает:
- ObservableList, содержащий ноль или более экземпляров TreeTableColumn.
resizeColumn
public boolean resizeColumn(TreeTableColumn<S,?> column, double delta)
- Параметры:
-
column- столбец -
delta- разница - Возвращает:
- true, если изменение размера столбца применено
edit
public void edit(int row, TreeTableColumn<S,?> column)
- Параметры:
-
row- строка -
column- столбец
getVisibleLeafColumns
public ObservableList<TreeTableColumn<S,?>> getVisibleLeafColumns()
- Возвращает:
- неизменяемый список, содержащий текущие видимые листья столбцов
getVisibleLeafIndex
public int getVisibleLeafIndex(TreeTableColumn<S,?> column)
- Параметры:
-
column- столбец - Возвращает:
- позицию заданного столбца относительно других видимых листов столбцов
getVisibleLeafColumn
public TreeTableColumn<S,?> getVisibleLeafColumn(int column)
- Параметры:
-
column- столбец - Возвращает:
- TreeTableColumn в заданном индексе столбца, относительно других видимых листов столбцов
sort
public void sort()
sort order, sort policy или состояния TreeTableColumn sort type. Другими словами, этот метод следует вызывать напрямую только при внешних изменениях, требующих сортировки.refresh
public void refresh()
refresh() заставляет элемент управления TreeTableView пересоздать и повторно заполнить ячейки, необходимые для заполнения визуальных границ элемента управления. Другими словами, это принудительно обновляет отображаемые в TreeTableView данные для пользователя. Это полезно в случаях, когда базовый источник данных изменился таким образом, что TreeTableView этого не заметил.- Since:
- JavaFX 8u60
getClassCssMetaData
public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
- Возвращает:
- CssMetaData, связанный с этим классом, который может включать CssMetaData его суперклассов.
getControlCssMetaData
public List<CssMetaData<? extends Styleable,?>> getControlCssMetaData()
- Переопределяет:
-
getControlCssMetaDataв классеControl - Возвращает:
- неизменяемый список свойств стилей элементов управления.
- С:
- 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.