Класс TreeTableView<S>
- Type Parameters:
-
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 с двумя столбцами для отображения имени и размера файла, мы напишем:
TreeTableColumn<File, String> fileNameCol = new TreeTableColumn<>("Filename");
TreeTableColumn<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 для установки новой модели выбора, в большинстве случаев это не требуется — модель выбора и фокуса по умолчанию должна работать в большинстве случаев.
Модель выбора SelectionModel по умолчанию, используемая при создании TreeTableView, представляет собой реализацию абстрактного класса 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 для каждого столбца, назначив соответствующую функцию свойству TreeTableColumns cell factory.
См. документацию класса Cell для более подробного описания способов написания пользовательских ячеек.
Предупреждение: узлы не должны вставляться напрямую в ячейки TreeTableView
TreeTableView позволяет его ячейкам содержать элементы любого типа, включая экземпляры Node. Вставка узлов в ячейки TreeTableView строго не рекомендуется, так как это может привести к неожиданным результатам. Важные моменты:
- Избегайте прямой вставки экземпляров
Nodeв ячейкиTreeTableViewили в модель данных. - Рекомендуемый подход заключается в размещении необходимой информации в списке элементов и предоставлении пользовательской
cell factoryдля создания узлов для заданной ячейки и их обновления по требованию с использованием данных, хранящихся в элементе для этой ячейки. - Избегайте создания новых
Nodeв методеupdateItemпользовательскойcell factory.
Следующий минимальный пример показывает, как создать пользовательскую фабрику ячеек для TreeTableView, содержащих Node:
class ColorModel {
private SimpleObjectProperty<Color> color;
private StringProperty name;
public ColorModel (String name, Color col) {
this.color = new SimpleObjectProperty<Color>(col);
this.name = new SimpleStringProperty(name);
}
public Color getColor() { return color.getValue(); }
public void setColor(Color c) { color.setValue(c); }
public SimpleObjectProperty<Color> colorProperty() { return color; }
public String getName() { return name.getValue(); }
public void setName(String s) { name.setValue(s); }
public StringProperty nameProperty() { return name; }
}
ColorModel rootModel = new ColorModel("Color", Color.WHITE);
TreeItem<ColorModel> treeRoot = new TreeItem<ColorModel>(rootModel);
treeRoot.setExpanded(true);
treeRoot.getChildren().addAll(
new TreeItem<ColorModel>(new ColorModel("Red", Color.RED)),
new TreeItem<ColorModel>(new ColorModel("Green", Color.GREEN)),
new TreeItem<ColorModel>(new ColorModel("Blue", Color.BLUE)));
TreeTableView<ColorModel> treeTable = new TreeTableView<ColorModel>(treeRoot);
TreeTableColumn<ColorModel, String> nameCol = new TreeTableColumn<>("Color Name");
TreeTableColumn<ColorModel, Color> colorCol = new TreeTableColumn<>("Color");
treeTable.getColumns().setAll(nameCol, colorCol);
colorCol.setCellValueFactory(p -> p.getValue().getValue().colorProperty());
nameCol.setCellValueFactory(p -> p.getValue().getValue().nameProperty());
colorCol.setCellFactory(p -> {
return new TreeTableCell<ColorModel, Color> () {
private final Rectangle rectangle;
{
setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
rectangle = new Rectangle(10, 10);
}
@Override
protected void updateItem(Color item, boolean empty) {
super.updateItem(item, empty);
if (item == null || empty) {
setGraphic(null);
} else {
rectangle.setFill(item);
setGraphic(rectangle);
}
}
};
}); В этом примере есть анонимный пользовательский класс TreeTableCell в пользовательской фабрике ячеек. Обратите внимание, что объект Rectangle (Node) должен быть создан в блоке инициализации экземпляра или конструкторе пользовательского класса TreeTableCell и обновляться/использоваться в его методе updateItem.
Редактирование
Этот элемент управления поддерживает встроенное редактирование значений, и в этом разделе делается попытка дать обзор доступных API и того, как их следует использовать.
Во-первых, редактирование ячейки обычно требует другого пользовательского интерфейса, чем в случае, когда ячейка не редактируется. Это ответственность реализации Cell, используемой. Для TreeTableView настоятельно рекомендуется, чтобы редактирование осуществлялось через per-TreeTableColumn, а не через per row, так как чаще всего пользователи хотят редактировать значения каждого столбца по-разному, и этот подход позволяет использовать редакторы, специфичные для каждого столбца. Вы можете выбрать, будет ли ячейка постоянно в режиме редактирования (например, это обычно характерно для ячеек CheckBox), или интерфейс будет меняться при начале редактирования (например, при двойном щелчке по ячейке).
Чтобы узнать, когда запрошено редактирование ячейки, просто переопределите метод Cell.startEdit() и обновите свойства ячейки text и graphic соответствующим образом (например, установите текст в null и установите графическое представление в TextField). Кроме того, вы должны также переопределить Cell.cancelEdit(), чтобы восстановить первоначальное визуальное состояние пользовательского интерфейса при завершении редактирования. В обоих случаях важно также убедиться, что вы вызываете родительский метод, чтобы ячейка выполнила все необходимые действия для входа или выхода из режима редактирования.
После того, как ваша ячейка перешла в режим редактирования, вам, вероятно, будет интересно, как подтвердить или отменить выполнение редактирования. Это ваша ответственность как поставщика фабрики ячеек. Ваша реализация ячейки будет знать, когда редактирование завершено, основываясь на пользовательском вводе (например, когда пользователь нажмёт клавиши 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, то вы удалите обработчик по умолчанию. Если вы не обработаете запись обратно в свойство (или соответствующий источник данных), ничего не произойдёт. Вы можете обойти эту проблему, используя метод EventTarget.addEventHandler(javafx.event.EventType, javafx.event.EventHandler) для добавления TreeTableColumn.EDIT_COMMIT_EVENT события EventType с вашим желаемым обработчиком событий EventHandler в качестве второго аргумента. Используя этот метод, вы не заменяете стандартную реализацию, но получаете уведомление о том, что подтверждение редактирования произошло.
Надеемся, этот обзор ответит на некоторые часто задаваемые вопросы. К счастью, JavaFX поставляется с рядом готовых фабрик ячеек, которые обрабатывают все требования к редактированию от вашего имени. Вы можете найти эти готовые фабрики ячеек в пакете javafx.scene.control.cell.
- Since:
- JavaFX 8.0
- See Also:
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
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. |
Краткое описание свойств
| Тип | Свойство | Описание |
|---|---|---|
final ObjectProperty |
columnResizePolicy |
Функция, вызываемая при завершении операции изменения размера столбца. |
final ReadOnlyObjectProperty |
comparator |
Свойство компаратора — это свойство только для чтения, которое представляет текущее состояние списка sort order. |
final BooleanProperty |
editable |
Указывает, является ли данная TreeTableView редактируемой. Редактирование ячейки TreeCell будет возможно только если TreeTableView и ячейки TreeCell внутри неё, являются редактируемыми. |
final ReadOnlyObjectProperty |
editingCell |
Представляет текущую редактируемую ячейку или null, если ячеек нет. |
final ReadOnlyIntegerProperty |
expandedItemCount |
Представляет количество узлов дерева, которые могут быть видны в TreeTableView. |
final DoubleProperty |
fixedCellSize |
Указывает, имеют ли ячейки данного элемента управления фиксированную высоту (указанного значения). |
final ObjectProperty |
focusModel |
FocusModel предоставляет API, позволяющее управлять фокусом на нулевых или одной строке TreeTableView. |
final ObjectProperty |
onScrollToColumn |
Вызывается при запросе прокрутки столбца в область видимости с помощью scrollToColumn(TreeTableColumn) или scrollToColumnIndex(int)
|
final ObjectProperty |
onScrollTo |
Вызывается при запросе прокрутки индекса в область видимости с помощью scrollTo(int)
|
final ObjectProperty |
onSort |
Вызывается при запросе сортировки элемента управления. |
final ObjectProperty |
placeholder |
Этот узел отображается пользователю, когда в таблице нет данных для отображения. |
final ObjectProperty |
root |
Свойство, представляющее корневой узел TreeTableView. |
final ObjectProperty |
rowFactory |
Функция, которая генерирует TreeTableRow. |
final ObjectProperty |
selectionModel |
SelectionModel предоставляет API, с помощью которого можно выбирать одну или несколько строк в TreeTableView, а также проверять, какие строки выбраны пользователем. |
final BooleanProperty |
showRoot |
Свойство, представляющее видимость корневого узла TreeTableView. |
final ObjectProperty |
sortMode |
Определяет режим сортировки, который следует использовать при сортировке содержимого этой TreeTableView, если в списке sort order указаны столбцы. |
final ObjectProperty |
sortPolicy |
Политика сортировки определяет, как должна выполняться сортировка в этой TreeTableView. |
final BooleanProperty |
tableMenuButtonVisible |
Определяет, доступна ли кнопка меню, когда пользователь нажимает в выделенной области TableView, в которой находится пункт радиоменю для каждого TreeTableColumn в этой таблице. |
final ObjectProperty |
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, focusVisible, focusWithin, 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 final Callback |
CONSTRAINED_RESIZE_POLICY |
Устарело. |
static final Callback |
CONSTRAINED_RESIZE_POLICY_ALL_COLUMNS |
Политика изменения размера, которая корректирует другие столбцы для подгонки ширины таблицы с деревом. |
static final Callback |
CONSTRAINED_RESIZE_POLICY_FLEX_LAST_COLUMN |
Политика изменения размера, которая корректирует столбцы, начиная с последнего, для подгонки ширины таблицы. |
static final Callback |
CONSTRAINED_RESIZE_POLICY_FLEX_NEXT_COLUMN |
Политика изменения размера, которая корректирует столбцы, начиная со следующего, для подгонки ширины таблицы с деревом. |
static final Callback |
CONSTRAINED_RESIZE_POLICY_LAST_COLUMN |
Политика изменения размера, которая корректирует последний столбец для подгонки ширины таблицы с деревом. |
static final Callback |
CONSTRAINED_RESIZE_POLICY_NEXT_COLUMN |
Политика изменения размера, которая корректирует следующий столбец для подгонки ширины таблицы с деревом. |
static final Callback |
CONSTRAINED_RESIZE_POLICY_SUBSEQUENT_COLUMNS |
Политика изменения размера, которая корректирует последующие столбцы для подгонки ширины таблицы с деревом. |
static final Callback |
DEFAULT_SORT_POLICY |
По умолчанию sort policy, которое будет использоваться этой TreeTableView, если не указана другая политика. |
static final Callback |
UNCONSTRAINED_RESIZE_POLICY |
Очень простая политика изменения размера, которая просто изменяет размер указанного столбца на предоставленное значение delta и сдвигает все остальные столбцы (справа от заданного столбца) дальше вправо (если delta положительно) или влево (если delta отрицательно). |
Поля, объявленные в классе javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZE
Поля, объявленные в классе javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
TreeTableView() |
Создаёт пустую TreeTableView. |
TreeTableView |
Создаёт TreeTableView с предоставленным корневым узлом. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final ObjectProperty |
columnResizePolicyProperty() |
Этот метод вызывается, когда пользователь завершает операцию изменения размера столбца. |
final ReadOnlyObjectProperty |
comparatorProperty() |
Свойство comparator — это свойство только для чтения, которое отражает текущее состояние списка sort order. |
void |
edit |
Приводит ячейку по заданным индексам строки/столбца к состоянию редактирования, если оно не установлено, и при условии, что TableView и столбец также разрешают редактирование. |
final BooleanProperty |
editableProperty() |
Указывает, разрешает ли редактирование этот TreeTableView — только если TreeTableView и ячейки TreeCells внутри него разрешают редактирование, ячейка TreeCell сможет перейти в состояние редактирования. |
static <S> EventType |
editAnyEvent() |
Тип события, указывающий на то, что произошло какое-то событие редактирования. |
static <S> EventType |
editCancelEvent() |
Тип события, используемый для указания того, что событие редактирования было отменено в TreeTableView, на котором было сгенерировано событие. |
static <S> EventType |
editCommitEvent() |
Тип события, используемый для указания на то, что редактирование в TreeTableView было подтверждено. |
final ReadOnlyObjectProperty |
editingCellProperty() |
Представляет текущую редактируемую ячейку или null, если ячейка не редактируется. |
static <S> EventType |
editStartEvent() |
Тип события, используемый для указания на то, что событие редактирования началось в TreeTableView, на котором было сгенерировано событие. |
final ReadOnlyIntegerProperty |
expandedItemCountProperty() |
Представляет количество узлов дерева, которые в настоящее время могут быть видны в TreeTableView. |
final DoubleProperty |
fixedCellSizeProperty() |
Указывает, имеют ли ячейки этого элемента управления фиксированную высоту (заданного значения). |
final ObjectProperty |
focusModelProperty() |
FocusModel предоставляет API для управления фокусом на нулевых или одной строке TreeTableView. |
static List |
getClassCssMetaData() |
Получает CssMetaData, связанный с этим классом, который может включать CssMetaData его суперклассов. |
final Callback |
getColumnResizePolicy() |
Получает значение свойства columnResizePolicy. |
final ObservableList |
getColumns() |
TreeTableColumns, являющиеся частью этого TableView. |
final Comparator |
getComparator() |
Получает значение свойства comparator. |
List |
getControlCssMetaData() |
Получает неизменяемый список стилизуемых CSS-свойствами элемента управления. |
final TreeTablePosition |
getEditingCell() |
Получает значение свойства editingCell. |
final int |
getExpandedItemCount() |
Получает значение свойства expandedItemCount. |
final double |
getFixedCellSize() |
Возвращает значение фиксированного размера ячейки. |
final TreeTableView.TreeTableViewFocusModel |
getFocusModel() |
Возвращает текущий установленный FocusModel. |
static int |
getNodeLevel |
Устаревший. Этот метод не правильно вычисляет расстояние от заданного TreeItem до корня TreeTableView. |
final EventHandler |
getOnScrollTo() |
Получает значение свойства onScrollTo. |
final EventHandler |
getOnScrollToColumn() |
Получает значение свойства onScrollToColumn. |
final EventHandler |
getOnSort() |
Получает значение свойства onSort. |
final Node |
getPlaceholder() |
Получает значение свойства placeholder. |
final TreeItem |
getRoot() |
Возвращает текущий корневой узел этого TreeTableView или null, если корневой узел не указан. |
int |
getRow |
Возвращает позицию индекса заданного TreeItem, предполагая, что он в настоящее время доступен в иерархии дерева (в частности, что все родительские элементы дерева развернуты). |
final Callback |
getRowFactory() |
Получает значение свойства rowFactory. |
final TreeTableView.TreeTableViewSelectionModel |
getSelectionModel() |
Возвращает текущую установленную модель выбора. |
final TreeSortMode |
getSortMode() |
Получает значение свойства sortMode. |
final ObservableList |
getSortOrder() |
Список sortOrder определяет порядок, в котором сортируются экземпляры TreeTableColumn. |
final Callback |
getSortPolicy() |
Получает значение свойства sortPolicy. |
final TreeTableColumn |
getTreeColumn() |
Получает значение свойства treeColumn. |
TreeItem |
getTreeItem |
Возвращает TreeItem в заданном индексе или null, если он вне границ. |
int |
getTreeItemLevel |
Возвращает количество уровней «отступа» заданного TreeItem, исходя из того, сколько раз можно рекурсивно вызвать getParent(). |
TreeTableColumn |
getVisibleLeafColumn |
Возвращает TreeTableColumn в заданном индексе столбца, относительно всех других видимых столбцов-листьев. |
ObservableList |
getVisibleLeafColumns() |
Возвращает неизменяемый список, содержащий текущие видимые столбцы-листья. |
int |
getVisibleLeafIndex |
Возвращает позицию заданного столбца, относительно всех других видимых столбцов-листьев. |
final boolean |
isEditable() |
Получает значение свойства editable. |
final boolean |
isShowRoot() |
Возвращает true, если корень TreeTableView должен отображаться, и false, если нет. |
final boolean |
isTableMenuButtonVisible() |
Получает значение свойства tableMenuButtonVisible. |
final ObjectProperty |
onScrollToColumnProperty() |
Вызывается при запросе прокрутки столбца в область видимости с помощью scrollToColumn(TreeTableColumn) или scrollToColumnIndex(int)
|
final ObjectProperty |
onScrollToProperty() |
Вызывается при запросе прокрутки индекса в область видимости с помощью scrollTo(int)
|
final ObjectProperty |
onSortProperty() |
Вызывается при запросе сортировки элемента управления. |
final ObjectProperty |
placeholderProperty() |
Этот узел отображается пользователю, когда в таблице нет данных для отображения. |
void |
refresh() |
Вызов refresh() заставляет элемент управления TreeTableView пересоздать и перезаполнить ячейки, необходимые для заполнения визуальных границ элемента управления. |
boolean |
resizeColumn |
Применяет текущую политику изменения размера к заданному столбцу, изменяя его размер на основе предоставленного значения delta. |
final ObjectProperty |
rootProperty() |
Свойство, представляющее корневой узел TreeTableView. |
final ObjectProperty |
rowFactoryProperty() |
Функция, которая генерирует TreeTableRow. |
void |
scrollTo |
Прокручивает TreeTableView таким образом, чтобы элемент в заданном индексе был виден конечному пользователю. |
void |
scrollToColumn |
Прокручивает TreeTableView так, чтобы заданный столбец был виден в области просмотра. |
void |
scrollToColumnIndex |
Прокручивает TreeTableView так, чтобы заданный индекс был виден в области просмотра. |
final ObjectProperty |
selectionModelProperty() |
SelectionModel предоставляет API для выбора одного или нескольких элементов в TreeTableView, а также для проверки, какие строки выбраны пользователем. |
final void |
setColumnResizePolicy |
Устанавливает значение свойства columnResizePolicy. |
final void |
setEditable |
Устанавливает значение свойства editable. |
final void |
setFixedCellSize |
Устанавливает новый фиксированный размер ячейки для данного элемента управления. |
final void |
setFocusModel |
Устанавливает FocusModel для использования в TreeTableView. |
final void |
setOnScrollTo |
Устанавливает значение свойства onScrollTo. |
final void |
setOnScrollToColumn |
Устанавливает значение свойства onScrollToColumn. |
final void |
setOnSort |
Устанавливает значение свойства onSort. |
final void |
setPlaceholder |
Устанавливает значение свойства placeholder. |
final void |
setRoot |
Устанавливает корневой узел в данном TreeTableView. |
final void |
setRowFactory |
Устанавливает значение свойства rowFactory. |
final void |
setSelectionModel |
Устанавливает MultipleSelectionModel для использования в TreeTableView. |
final void |
setShowRoot |
Указывает, должен ли корневой TreeItem отображаться в данном TreeTableView. |
final void |
setSortMode |
Устанавливает значение свойства sortMode. |
final void |
setSortPolicy |
Устанавливает значение свойства sortPolicy. |
final void |
setTableMenuButtonVisible |
Устанавливает значение свойства tableMenuButtonVisible. |
final void |
setTreeColumn |
Устанавливает значение свойства treeColumn. |
final BooleanProperty |
showRootProperty() |
Свойство, представляющее, отображается ли корневой узел TreeTableView. |
void |
sort() |
Метод сортировки заставляет TreeTableView повторно выполнить алгоритм сортировки. |
final ObjectProperty |
sortModeProperty() |
Указывает режим сортировки, который следует использовать при сортировке содержимого данного TreeTableView, если столбцы указаны в списке sort order. |
final ObjectProperty |
sortPolicyProperty() |
Политика сортировки определяет, как должна выполняться сортировка в данном TreeTableView. |
final BooleanProperty |
tableMenuButtonVisibleProperty() |
Этот параметр управляет доступностью кнопки меню, когда пользователь щелкает в отведенном месте в TableView, в котором находится элемент радиоменю для каждого TreeTableColumn в этой таблице. |
final ObjectProperty |
treeColumnProperty() |
Свойство, представляющее столбец, в котором должен отображаться узел раскрытия (то есть столбец со стрелкой). |
Методы, объявленные в классе javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, contextMenuProperty, createDefaultSkin, getContextMenu, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, setContextMenu, setSkin, 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, focusVisibleProperty, focusWithinProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isFocusVisible, isFocusWithin, 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, requestFocusTraversal, 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
Подробности свойства
корень
public final ObjectProperty<TreeItem<S>> rootProperty
- См. также:
отображениеКорня
public final BooleanProperty showRootProperty
- См. также:
колонкаДерева
public final ObjectProperty<TreeTableColumn<S,?>> treeColumnProperty
visible leaf columns.- См. также:
модельВыделения
public final ObjectProperty<TreeTableView.TreeTableViewSelectionModel<S>> selectionModelProperty
- См. также:
модельФокуса
public final ObjectProperty<TreeTableView.TreeTableViewFocusModel<S>> focusModelProperty
- См. также:
количествоРасширенныхЭлементов
public final ReadOnlyIntegerProperty expandedItemCountProperty
Представляет количество узлов дерева, которые в настоящее время могут быть видны в TreeTableView. Это по существу количество всех расширенных элементов дерева и их потомков.
Например, если виден только корневой узел, expandedItemCount будет равен единице. Если у корневого узла было три дочерних элемента и корень был развернут, значение будет равно четырем.
- См. также:
редактируемый
public final BooleanProperty editableProperty
- См. также:
редактируемаяЯчейка
public final ReadOnlyObjectProperty<TreeTablePosition<S,?>> editingCellProperty
- См. также:
кнопкаМенюТаблицаВидимость
public final BooleanProperty tableMenuButtonVisibleProperty
- См. также:
политикаИзмененияРазмерКолонки
public final ObjectProperty<Callback<TreeTableView.ResizeFeatures,Boolean>> columnResizePolicyProperty
UNCONSTRAINED_RESIZE_POLICY и CONSTRAINED_RESIZE_POLICY.- См. также:
производительСтрок
public final ObjectProperty<Callback<TreeTableView<S>,TreeTableRow<S>>> rowFactoryProperty
Обратите внимание, что TreeTableRow — это не TableCell. TreeTableRow — это просто контейнер для TableCell, и в большинстве случаев вам, скорее всего, захочется создать пользовательские TableCell, а не TreeTableRows. Основной случай использования для создания пользовательских экземпляров TreeTableRow, вероятно, заключался бы в обеспечении поддержки перекрытия столбцов.
Вы можете создавать пользовательские экземпляры TableCell для каждого столбца, назначив соответствующую функцию свойству cellFactory в классе TreeTableColumn.
- См. также:
заполнитель
public final ObjectProperty<Node> placeholderProperty
- См. также:
фиксированныйРазмерЯчейки
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
- См. также:
режимСортировки
public final ObjectProperty<TreeSortMode> sortModeProperty
sort order.- См. также:
comparator
public final ReadOnlyObjectProperty<Comparator<TreeItem<S>>> comparatorProperty
sort order. Список порядка сортировки содержит столбцы, которые были добавлены в него программно или пользователем при щелчке по заголовкам столбцов.- См. также:
sortPolicy
public final ObjectProperty<Callback<TreeTableView<S>,Boolean>> sortPolicyProperty
TreeTableView поставляется с default
sort policy, которая делает именно то, что описано выше: она просто пытается отсортировать иерархию дерева на месте.
Рекомендуется не переопределять метод sort, а вместо этого предоставить другую политику сортировки.
- См. также:
onSort
public final ObjectProperty<EventHandler<SortEvent<TreeTableView<S>>>> onSortProperty
- См. также:
onScrollTo
public final ObjectProperty<EventHandler<ScrollToEvent<Integer>>> onScrollToProperty
scrollTo(int)
- См. также:
onScrollToColumn
public final ObjectProperty<EventHandler<ScrollToEvent<TreeTableColumn<S,?>>>> onScrollToColumnProperty
scrollToColumn(TreeTableColumn) или scrollToColumnIndex(int)
- См. также:
Подробное описание полей
UNCONSTRAINED_RESIZE_POLICY
public static final Callback<TreeTableView.ResizeFeatures,Boolean> UNCONSTRAINED_RESIZE_POLICY
Очень простая политика изменения размера, которая просто изменяет размер указанного столбца на заданный дельту и сдвигает все другие столбцы (справа от данного столбца) дальше вправо (если дельта положительна) или влево (если дельта отрицательна).
Она также обрабатывает случаи вложенных столбцов, распределяя новое пространство или вычитая удаленное пространство равномерно между всеми непосредственными дочерними столбцами. Конечно, непосредственные дочерние элементы могут быть вложены, и они будут использовать эту политику для своих дочерних элементов.
CONSTRAINED_RESIZE_POLICY_ALL_COLUMNS
public static final Callback<TreeTableView.ResizeFeatures,Boolean> CONSTRAINED_RESIZE_POLICY_ALL_COLUMNS
Если ограничения столбцов делают невозможным размещение всех столбцов в разрешенной области, столбцы либо обрезаются, либо появляется пустое пространство. Эта политика отключает горизонтальную полосу прокрутки.
- Since:
- 20
CONSTRAINED_RESIZE_POLICY_LAST_COLUMN
public static final Callback<TreeTableView.ResizeFeatures,Boolean> CONSTRAINED_RESIZE_POLICY_LAST_COLUMN
Если ограничения столбцов делают невозможным размещение всех столбцов в разрешенной области, столбцы либо обрезаются, либо появляется пустое пространство. Эта политика отключает горизонтальную полосу прокрутки.
- Since:
- 20
CONSTRAINED_RESIZE_POLICY_NEXT_COLUMN
public static final Callback<TreeTableView.ResizeFeatures,Boolean> CONSTRAINED_RESIZE_POLICY_NEXT_COLUMN
Если ограничения столбцов делают невозможным размещение всех столбцов в разрешенной области, столбцы либо обрезаются, либо появляется пустое пространство. Эта политика отключает горизонтальную полосу прокрутки.
- Since:
- 20
CONSTRAINED_RESIZE_POLICY_SUBSEQUENT_COLUMNS
public static final Callback<TreeTableView.ResizeFeatures,Boolean> CONSTRAINED_RESIZE_POLICY_SUBSEQUENT_COLUMNS
Если ограничения столбцов делают невозможным размещение всех столбцов в разрешенной области, столбцы либо обрезаются, либо появляется пустое пространство. Эта политика отключает горизонтальную полосу прокрутки.
- Since:
- 20
CONSTRAINED_RESIZE_POLICY_FLEX_NEXT_COLUMN
public static final Callback<TreeTableView.ResizeFeatures,Boolean> CONSTRAINED_RESIZE_POLICY_FLEX_NEXT_COLUMN
Если ограничения столбцов делают невозможным размещение всех столбцов в разрешенной области, столбцы либо обрезаются, либо появляется пустое пространство. Эта политика отключает горизонтальную полосу прокрутки.
- Since:
- 20
CONSTRAINED_RESIZE_POLICY_FLEX_LAST_COLUMN
public static final Callback<TreeTableView.ResizeFeatures,Boolean> CONSTRAINED_RESIZE_POLICY_FLEX_LAST_COLUMN
Если ограничения столбцов делают невозможным размещение всех столбцов в разрешенной области, столбцы либо обрезаются, либо появляется пустое пространство. Эта политика отключает горизонтальную полосу прокрутки.
- Since:
- 20
CONSTRAINED_RESIZE_POLICY
@Deprecated(since="20") public static final Callback<TreeTableView.ResizeFeatures,Boolean> CONSTRAINED_RESIZE_POLICY
CONSTRAINED_RESIZE_POLICY_FLEX_LAST_COLUMN вместо этого.Простая политика, которая гарантирует, что сумма ширины всех видимых столбцов-листьев в этой таблице равна ширине самой таблицы.
Когда пользователь изменяет ширину столбца с помощью этой политики, таблица автоматически изменяет ширину столбцов справа. При увеличении ширины столбца таблица уменьшает ширину правого столбца до его минимальной ширины. Затем она уменьшает ширину второго правого столбца до минимальной ширины и так далее. Когда все столбцы справа достигают минимального размера, пользователь больше не может увеличить размер изменённого столбца.
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.
- Parameters:
-
root- Узел, который будет корнем в этом TreeTableView.
Подробное описание методов
editAnyEvent
public static <S> EventType<TreeTableView.EditEvent<S>> editAnyEvent()
editStartEvent(), editCommitEvent() и editCancelEvent().- Type Parameters:
-
S- Тип экземпляров TreeItem, используемых в этом TreeTableView - Возвращает:
- Тип события EventType, указывающий на то, что произошло событие редактирования
editStartEvent
public static <S> EventType<TreeTableView.EditEvent<S>> editStartEvent()
- Type Parameters:
-
S- Тип экземпляров TreeItem, используемых в этом TreeTableView - Возвращает:
- Тип события EventType, используемый для указания того, что началось событие редактирования
editCancelEvent
public static <S> EventType<TreeTableView.EditEvent<S>> editCancelEvent()
- Type Parameters:
-
S- Тип экземпляров TreeItem, используемых в этом TreeTableView - Возвращает:
- Тип события EventType, используемый для указания того, что событие редактирования было отменено
editCommitEvent
public static <S> EventType<TreeTableView.EditEvent<S>> editCommitEvent()
- Type Parameters:
-
S- Тип экземпляров TreeItem, используемых в этом TreeTableView - Возвращает:
- Тип события EventType, используемый для указания того, что редактирование в 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
getRoot
public final TreeItem<S> getRoot()
- Возвращает:
- Текущий корневой узел или null, если корневой узел не существует.
rootProperty
public final ObjectProperty<TreeItem<S>> rootProperty()
- Возвращает:
- свойство root
- См. также:
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()
- Возвращает:
- свойство отображения корня
- См. также:
treeColumnProperty
public final ObjectProperty<TreeTableColumn<S,?>> treeColumnProperty()
visible leaf columns.- Возвращает:
- свойство tree column
- См. также:
setTreeColumn
public final void setTreeColumn(TreeTableColumn<S,?> value)
treeColumn.- Описание свойства:
- Свойство, представляющее столбец, в котором должен отображаться узел раскрытия (то есть столбец со стрелкой). По умолчанию, если это свойство null, это будет самый левый столбец, в противном случае это будет указанный столбец, при условии, что он не null и содержится в списке
visible leaf columns. - Параметры:
-
value- значение для свойстваtreeColumn - См. также:
getTreeColumn
public final TreeTableColumn<S,?> getTreeColumn()
treeColumn.- Описание свойства:
- Свойство, представляющее столбец, в котором должен отображаться узел раскрытия (то есть столбец со стрелкой). По умолчанию, если это свойство null, это будет самый левый столбец, в противном случае это будет указанный столбец, при условии, что он не null и содержится в списке
visible leaf columns. - Возвращает:
- значение свойства
treeColumn - См. также:
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()
- Возвращает:
- свойство модели выбора
- См. также:
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()
- Возвращает:
- свойство модели фокуса
- См. также:
expandedItemCountProperty
public final ReadOnlyIntegerProperty expandedItemCountProperty()
Представляет количество узлов дерева, которые в данный момент могут быть видны в TreeTableView. По сути, это количество всех развернутых элементов дерева и их потомков.
Например, если виден только корневой узел, expandedItemCount будет равен одному. Если у корня было три дочерних узла, и корень был развернут, значение будет четыре.
- Возвращает:
- свойство
expandedItemCount - См. также:
getExpandedItemCount
public final int getExpandedItemCount()
expandedItemCount.- Описание свойства:
-
Представляет количество узлов дерева, которые в данный момент могут быть видны в TreeTableView. По сути, это количество всех развернутых элементов дерева и их потомков.
Например, если виден только корневой узел, expandedItemCount будет равен одному. Если у корня было три дочерних узла, и корень был развернут, значение будет четыре.
- Возвращает:
- значение свойства
expandedItemCount - См. также:
setEditable
public final void setEditable(boolean value)
editable.- Описание свойства:
- Определяет, является ли TreeTableView редактируемым. Для того чтобы ячейка TreeCell могла перейти в состояние редактирования, TreeTableView и ячейки TreeCell внутри него должны быть одновременно редактируемыми.
- Параметры:
-
value- значение для свойстваeditable - См. также:
isEditable
public final boolean isEditable()
editable.- Описание свойства:
- Определяет, является ли TreeTableView редактируемым. Для того чтобы ячейка TreeCell могла перейти в состояние редактирования, TreeTableView и ячейки TreeCell внутри него должны быть одновременно редактируемыми.
- Возвращает:
- значение свойства
editable - См. также:
editableProperty
public final BooleanProperty editableProperty()
- Возвращает:
- свойство editable
- См. также:
getEditingCell
public final TreeTablePosition<S,?> getEditingCell()
editingCell.- Описание свойства:
- Представляет текущую редактируемую ячейку или null, если ячейка не редактируется.
- Возвращает:
- значение свойства
editingCell - См. также:
editingCellProperty
public final ReadOnlyObjectProperty<TreeTablePosition<S,?>> editingCellProperty()
- Возвращает:
- свойство editing cell
- См. также:
tableMenuButtonVisibleProperty
public final BooleanProperty tableMenuButtonVisibleProperty()
- Возвращает:
- свойство видимости кнопки меню таблицы
- См. также:
setTableMenuButtonVisible
public final void setTableMenuButtonVisible(boolean value)
tableMenuButtonVisible.- Описание свойства:
- Управляет отображением кнопки меню при нажатии пользователем в выделенной области TableView, в которой находится пункт меню со всеми TreeTableColumn в этой таблице. Это меню позволяет пользователю легко показывать и скрывать все TreeTableColumns.
- Параметры:
-
value- значение для свойстваtableMenuButtonVisible - См. также:
isTableMenuButtonVisible
public final boolean isTableMenuButtonVisible()
tableMenuButtonVisible.- Описание свойства:
- Управляет отображением кнопки меню при нажатии пользователем в выделенной области TableView, в которой находится пункт меню со всеми TreeTableColumn в этой таблице. Это меню позволяет пользователю легко показывать и скрывать все TreeTableColumns.
- Возвращает:
- значение свойства
tableMenuButtonVisible - См. также:
setColumnResizePolicy
public final void setColumnResizePolicy(Callback<TreeTableView.ResizeFeatures,Boolean> callback)
columnResizePolicy.- Описание свойства:
- Функция, вызываемая при завершении операции изменения размера столбца. Две наиболее распространенные политики доступны как статические функции в классе TableView:
UNCONSTRAINED_RESIZE_POLICYиCONSTRAINED_RESIZE_POLICY. - Параметры:
-
callback- значение для свойстваcolumnResizePolicy - См. также:
getColumnResizePolicy
public final Callback<TreeTableView.ResizeFeatures,Boolean> getColumnResizePolicy()
columnResizePolicy.- Описание свойства:
- Функция, вызываемая при завершении операции изменения размера столбца. Две наиболее распространенные политики доступны как статические функции в классе TableView:
UNCONSTRAINED_RESIZE_POLICYиCONSTRAINED_RESIZE_POLICY. - Возвращает:
- значение свойства
columnResizePolicy - См. также:
columnResizePolicyProperty
public final ObjectProperty<Callback<TreeTableView.ResizeFeatures,Boolean>> columnResizePolicyProperty()
UNCONSTRAINED_RESIZE_POLICY и CONSTRAINED_RESIZE_POLICY.- Возвращает:
- свойство политики изменения размера столбца
- См. также:
rowFactoryProperty
public final ObjectProperty<Callback<TreeTableView<S>,TreeTableRow<S>>> rowFactoryProperty()
Обратите внимание, что TreeTableRow — это не TableCell. TreeTableRow — это просто контейнер для TableCell, и в большинстве случаев вы, скорее всего, захотите создать пользовательские TableCell, а не TreeTableRows. Основной случай использования для создания пользовательских экземпляров TreeTableRow, вероятно, заключается в реализации поддержки размаха столбцов.
Вы можете создать пользовательские экземпляры TableCell для каждого столбца, назначив соответствующую функцию свойству cellFactory в классе TreeTableColumn.
- Возвращает:
- свойство row factory
- См. также:
setRowFactory
public final void setRowFactory(Callback<TreeTableView<S>,TreeTableRow<S>> value)
rowFactory.- Описание свойства:
- Функция, которая создаёт объект TreeTableRow. Система отвечает за повторное использование TreeTableRows. Функция должна возвращать TreeTableRow, который может быть использован для представления отдельной строки в TableView.
Обратите внимание, что TreeTableRow — это не TableCell. TreeTableRow — это просто контейнер для TableCell, и в большинстве случаев вы, скорее всего, захотите создать пользовательские TableCell, а не TreeTableRows. Основной случай использования для создания пользовательских экземпляров TreeTableRow, вероятно, заключается в реализации поддержки размаха столбцов.
Вы можете создать пользовательские экземпляры TableCell для каждого столбца, назначив соответствующую функцию свойству cellFactory в классе TreeTableColumn.
- Параметры:
-
value- значение для свойстваrowFactory - См. также:
getRowFactory
public final Callback<TreeTableView<S>,TreeTableRow<S>> getRowFactory()
rowFactory.- Описание свойства:
- Функция, которая создаёт объект TreeTableRow. Система отвечает за повторное использование TreeTableRows. Функция должна возвращать TreeTableRow, который может быть использован для представления отдельной строки в TableView.
Обратите внимание, что TreeTableRow — это не TableCell. TreeTableRow — это просто контейнер для TableCell, и в большинстве случаев вы, скорее всего, захотите создать пользовательские TableCell, а не TreeTableRows. Основной случай использования для создания пользовательских экземпляров TreeTableRow, вероятно, заключается в реализации поддержки размаха столбцов.
Вы можете создать пользовательские экземпляры TableCell для каждого столбца, назначив соответствующую функцию свойству cellFactory в классе TreeTableColumn.
- Возвращает:
- значение свойства
rowFactory - См. также:
placeholderProperty
public final ObjectProperty<Node> placeholderProperty()
- Возвращает:
- свойство placeholder
- См. также:
setPlaceholder
public final void setPlaceholder(Node value)
placeholder.- Описание свойства:
- Этот узел отображается пользователю, когда таблица не имеет данных для отображения. Это может быть из-за того, что в модели таблицы нет данных, что фильтр был применён к модели таблицы, в результате чего ничего не отображается пользователю, или что в данный момент не отображается ни один столбец.
- Параметры:
-
value- значение для свойстваplaceholder - См. также:
getPlaceholder
public final Node getPlaceholder()
placeholder.- Описание свойства:
- Этот узел отображается пользователю, когда таблица не имеет данных для отображения. Это может быть из-за того, что в модели таблицы нет данных, что фильтр был применён к модели таблицы, в результате чего ничего не отображается пользователю, или что в данный момент не отображается ни один столбец.
- Возвращает:
- значение свойства
placeholder - См. также:
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
- См. также:
sortModeProperty
public final ObjectProperty<TreeSortMode> sortModeProperty()
sort order.- Возвращает:
- свойство
sortMode - См. также:
setSortMode
public final void setSortMode(TreeSortMode value)
sortMode.- Описание свойства:
- Указывает режим сортировки, используемый при сортировке содержимого этой TreeTableView, если какие-либо столбцы указаны в списке
sort order. - Параметры:
-
value- значение для свойстваsortMode - См. также:
getSortMode
public final TreeSortMode getSortMode()
sortMode.- Описание свойства:
- Указывает режим сортировки, используемый при сортировке содержимого этой TreeTableView, если какие-либо столбцы указаны в списке
sort order. - Возвращает:
- значение свойства
sortMode - См. также:
getComparator
public final Comparator<TreeItem<S>> getComparator()
comparator.- Описание свойства:
- Свойство comparator — это свойство только для чтения, которое отражает текущее состояние списка
sort order. Список порядка сортировки содержит столбцы, которые были добавлены в него программно или пользователем при щелчке по заголовкам столбцов. - Возвращает:
- значение свойства
comparator - См. также:
comparatorProperty
public final ReadOnlyObjectProperty<Comparator<TreeItem<S>>> comparatorProperty()
sort order. Список порядка сортировки содержит столбцы, которые были добавлены в него программно или пользователем при щелчке по заголовкам столбцов.- Возвращает:
- свойство
comparator - См. также:
setSortPolicy
public final void setSortPolicy(Callback<TreeTableView<S>,Boolean> callback)
sortPolicy.- Описание свойства:
- Политика сортировки определяет, как должна выполняться сортировка в этом TreeTableView. Например, базовая политика сортировки может просто рекурсивно сортировать потомков корневого элемента дерева, в то время как более продвинутая политика может обращаться к базе данных, чтобы выполнить необходимую сортировку на стороне сервера.
TreeTableView поставляется с
default sort policy, которая делает именно это: она просто пытается отсортировать иерархию дерева на месте.Рекомендуется использовать другую политику сортировки, а не переопределять метод
sort. - Параметры:
-
callback- значение для свойстваsortPolicy - См. также:
getSortPolicy
public final Callback<TreeTableView<S>,Boolean> getSortPolicy()
sortPolicy.- Описание свойства:
- Политика сортировки определяет, как должна выполняться сортировка в этом TreeTableView. Например, базовая политика сортировки может просто рекурсивно сортировать потомков корневого элемента дерева, в то время как более продвинутая политика может обращаться к базе данных, чтобы выполнить необходимую сортировку на стороне сервера.
TreeTableView поставляется с
default sort policy, которая делает именно это: она просто пытается отсортировать иерархию дерева на месте.Рекомендуется использовать другую политику сортировки, а не переопределять метод
sort. - Возвращает:
- значение свойства
sortPolicy - См. также:
sortPolicyProperty
public final ObjectProperty<Callback<TreeTableView<S>,Boolean>> sortPolicyProperty()
TreeTableView поставляется с default
sort policy, которая делает именно это: она просто пытается отсортировать иерархию дерева на месте.
Рекомендуется использовать другую политику сортировки, а не переопределять метод sort.
- Возвращает:
- свойство
sortPolicy - См. также:
setOnSort
public final void setOnSort(EventHandler<SortEvent<TreeTableView<S>>> value)
onSort.- Описание свойства:
- Вызывается при запросе сортировки элемента управления.
- Параметры:
-
value- значение для свойстваonSort - См. также:
getOnSort
public final EventHandler<SortEvent<TreeTableView<S>>> getOnSort()
onSort.- Описание свойства:
- Вызывается при запросе сортировки элемента управления.
- Возвращает:
- значение свойства
onSort - См. также:
onSortProperty
public final ObjectProperty<EventHandler<SortEvent<TreeTableView<S>>>> onSortProperty()
- Возвращает:
- свойство
onSort - См. также:
scrollTo
public void scrollTo(int index)
- Параметры:
-
index- Индекс элемента, который должен быть виден пользователю, предполагается, что он больше или равен 0 и меньше, чем количество видимых элементов в TreeTableView.
setOnScrollTo
public final void setOnScrollTo(EventHandler<ScrollToEvent<Integer>> value)
onScrollTo.- Описание свойства:
- Вызывается при запросе прокрутки индекса в область видимости с помощью
scrollTo(int) - Параметры:
-
value- значение для свойстваonScrollTo - См. также:
getOnScrollTo
public final EventHandler<ScrollToEvent<Integer>> getOnScrollTo()
onScrollTo.- Описание свойства:
- Вызывается при запросе прокрутки индекса в область видимости с помощью
scrollTo(int) - Возвращает:
- значение свойства
onScrollTo - См. также:
onScrollToProperty
public final ObjectProperty<EventHandler<ScrollToEvent<Integer>>> onScrollToProperty()
scrollTo(int)
- Возвращает:
- свойство
onScrollTo - См. также:
scrollToColumn
public void scrollToColumn(TreeTableColumn<S,?> column)
- Параметры:
-
column- Столбец, который должен быть виден пользователю.
scrollToColumnIndex
public void scrollToColumnIndex(int columnIndex)
- Параметры:
-
columnIndex- Индекс столбца, который должен быть виден пользователю.
setOnScrollToColumn
public final void setOnScrollToColumn(EventHandler<ScrollToEvent<TreeTableColumn<S,?>>> value)
onScrollToColumn.- Описание свойства:
- Вызывается при запросе прокрутки столбца в область видимости с помощью
scrollToColumn(TreeTableColumn)илиscrollToColumnIndex(int) - Параметры:
-
value- значение для свойстваonScrollToColumn - См. также:
getOnScrollToColumn
public final EventHandler<ScrollToEvent<TreeTableColumn<S,?>>> getOnScrollToColumn()
onScrollToColumn.- Описание свойства:
- Вызывается при запросе прокрутки столбца в область видимости с помощью
scrollToColumn(TreeTableColumn)илиscrollToColumnIndex(int) - Возвращает:
- значение свойства
onScrollToColumn - См. также:
onScrollToColumnProperty
public final ObjectProperty<EventHandler<ScrollToEvent<TreeTableColumn<S,?>>>> onScrollToColumnProperty()
scrollToColumn(TreeTableColumn) или scrollToColumnIndex(int)
- Возвращает:
- свойство
onScrollToColumn - См. также:
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 его суперклассов.- Возвращает:
CssMetaData
getControlCssMetaData
public List<CssMetaData<? extends Styleable,?>> getControlCssMetaData()
- Overrides:
-
getControlCssMetaDataв классеControl - Возвращает:
- неизменяемый список свойств элемента управления, стилизуемых CSS
- 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.
CONSTRAINED_RESIZE_POLICY_FLEX_LAST_COLUMNвместо этого.