Класс TreeView<T>
- Параметры типа:
-
T- Тип элемента, содержащегося в свойстве значенияTreeItemдля всех элементов дерева в этом TreeView.
- Все реализованные интерфейсы:
-
Styleable,EventTarget,Skinnable
@DefaultProperty("root")
public class TreeView<T>
extends Control TreeItem). Используя TreeView, можно переходить к дочерним элементам TreeItem, рекурсивно, пока TreeItem не будет иметь дочерних элементов (то есть это листовой узел в дереве). Для этого, в отличие от таких элементов управления, как ListView, в TreeView необходимо только указать узел root. Более подробную информацию о создании дерева с использованием этого подхода см. в документации по классу TreeItem. Вкратце, для создания TreeView необходимо выполнить примерно следующее:
TreeItem<String> root = new TreeItem<>("Root Node");
root.setExpanded(true);
root.getChildren().addAll(
new TreeItem<>("Item 1"),
new TreeItem<>("Item 2"),
new TreeItem<>("Item 3")
);
TreeView<String> treeView = new TreeView<>(root); TreeView можно настроить на скрытие корневого узла, установив свойство showRoot в значение false. Если корневой узел скрыт, уровень отступа уменьшается на один, и все дочерние узлы корневого узла отображаются. По умолчанию корневой узел отображается в TreeView.
API выбора/фокусировки TreeView
Для отслеживания выбора и фокуса необходимо ознакомиться с классами SelectionModel и FocusModel. TreeView имеет не более одной инстанции каждого из этих классов, доступных соответственно из свойств selectionModel и focusModel. Хотя можно использовать этот API для установки новой модели выбора, в большинстве случаев это не требуется - модели выбора и фокуса по умолчанию должны работать в большинстве случаев.
По умолчанию SelectionModel, используемый при создании TreeView, является реализацией абстрактного класса MultipleSelectionModel. Однако, как отмечается в документации API для свойства selectionMode, значение по умолчанию - SelectionMode.SINGLE. Таким образом, для включения множественного выбора в экземпляре TreeView по умолчанию необходимо выполнить следующие действия:
treeView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); Настройка визуального оформления TreeView
Визуальное оформление TreeView можно полностью настроить, заменив завод по умолчанию cell factory. Завод ячеек используется для создания экземпляров TreeCell, которые используются для представления элемента в TreeView. См. документацию по классу Cell для более подробного описания того, как написать пользовательские ячейки.
Редактирование
Этот элемент управления поддерживает редактирование значений в строке, и этот раздел пытается дать обзор доступных API и того, как их следует использовать.
Прежде всего, редактирование ячеек обычно требует другого пользовательского интерфейса, чем в случае, когда ячейка не находится в режиме редактирования. Это ответственность реализации Cell, используемой. Для TreeView это ответственность cell factory. Вы можете выбрать, будет ли ячейка постоянно находиться в режиме редактирования (например, это обычно используется для ячеек CheckBox), или при запуске редактирования (например, при двойном щелчке по ячейке) будет использован другой пользовательский интерфейс.
Чтобы узнать, когда запрошено редактирование ячейки, просто переопределите метод Cell.startEdit() и обновите свойства ячейки text и graphic в соответствии с требованиями (например, установите текст в значение null и графическое представление в TextField). Кроме того, вы должны также переопределить Cell.cancelEdit() для сброса пользовательского интерфейса обратно к его первоначальному визуальному состоянию при завершении редактирования. В обоих случаях важно, чтобы вы также гарантировали, что вы вызываете родительский метод, чтобы ячейка выполнила все необходимые действия для входа или выхода из режима редактирования.
После того, как ячейка находится в режиме редактирования, скорее всего, вас интересует, как подтвердить или отменить выполняемое редактирование. Это ваша ответственность как поставщика фабрики ячеек. Ваша реализация ячейки будет знать, когда редактирование завершено, исходя из пользовательского ввода (например, когда пользователь нажимает клавиши Enter или ESC на клавиатуре). Когда это происходит, вам необходимо вызвать Cell.commitEdit(Object) или Cell.cancelEdit() в зависимости от ситуации.
При вызове Cell.commitEdit(Object) генерируется событие в TreeView, которое вы можете наблюдать, добавив обработчик событий EventHandler через setOnEditCommit(javafx.event.EventHandler). Аналогично, вы можете наблюдать события начала и отмены редактирования с помощью edit start и edit cancel.
По умолчанию обработчик событий подтверждения редактирования TreeView не равен null, с обработчиком по умолчанию, который пытается перезаписать значение свойства для элемента в текущей редактируемой строке. Он может сделать это, так как метод Cell.commitEdit(Object) получает новое значение, которое передается обработчику подтверждения редактирования через TreeView.EditEvent, который генерируется. Это просто вопрос вызова TreeView.EditEvent.getNewValue() для получения этого значения.
Важно отметить, что если вы вызываете setOnEditCommit(javafx.event.EventHandler) со своим собственным обработчиком событий EventHandler, вы замените обработчик по умолчанию. Если вы затем не обработаете запись в свойство (или соответствующий источник данных), ничего не произойдет. Вы можете обойти это, используя метод Node.addEventHandler(javafx.event.EventType, javafx.event.EventHandler) для добавления события editCommitEvent() EventType со своим желаемым обработчиком событий EventHandler в качестве второго аргумента. Используя этот метод, вы не замениваете реализацию по умолчанию, но получите уведомление о том, что произошло подтверждение редактирования.
Надеюсь, этот обзор отвечает на некоторые часто задаваемые вопросы. К счастью, JavaFX поставляется с рядом предварительно созданных заводов ячеек, которые обрабатывают все требования к редактированию за вас. Вы можете найти эти предварительно созданные заводы ячеек в пакете javafx.scene.control.cell.
- С момента:
- JavaFX 2.0
- См. также:
-
TreeItem,TreeCell
Краткое описание свойств
| Тип | Свойство | Описание |
|---|---|---|
ObjectProperty<Callback<TreeView<T>,TreeCell<T>>> | cellFactory | Представляет фабрику ячеек, которая будет использоваться для создания TreeCells, используемых для представления элементов в TreeView. |
BooleanProperty | editable | Указывает, является ли TreeView редактируемым — только если TreeView и TreeCells внутри него редактируемы, TreeCell сможет перейти в состояние редактирования. |
ReadOnlyObjectProperty<TreeItem<T>> | editingItem | Свойство, используемое для представления TreeItem, который в настоящее время редактируется в TreeView, если редактирование происходит, или null, если ни один элемент не редактируется. |
ReadOnlyIntegerProperty | expandedItemCount | Представляет количество узлов дерева, которые в настоящее время могут быть видны в TreeView. |
DoubleProperty | fixedCellSize | Указывает, имеют ли ячейки этого элемента фиксированную высоту (заданного значения). |
ObjectProperty<FocusModel<TreeItem<T>>> | focusModel | FocusModel предоставляет API, с помощью которого можно управлять фокусом на нуле или одной строке TreeView. |
ObjectProperty<EventHandler<TreeView.EditEvent<T>>> | onEditCancel | Обработчик событий будет вызван, когда пользователь отменяет редактирование ячейки. |
ObjectProperty<EventHandler<TreeView.EditEvent<T>>> | onEditCommit | Это свойство используется, когда пользователь выполняет действие, которое должно привести к сохранению его входных данных редактирования. |
ObjectProperty<EventHandler<TreeView.EditEvent<T>>> | onEditStart | Этот обработчик событий будет вызван, когда пользователь успешно инициирует редактирование. |
ObjectProperty<EventHandler<ScrollToEvent<Integer>>> | onScrollTo | Вызывается при запросе прокрутки индекса в область видимости с помощью scrollTo(int)
|
ObjectProperty<TreeItem<T>> | root | Свойство, представляющее корневой узел TreeView. |
ObjectProperty<MultipleSelectionModel<TreeItem<T>>> | selectionModel | SelectionModel предоставляет API, с помощью которого можно выбрать один или несколько элементов в TreeView, а также проверить, какие строки были выбраны пользователем. |
BooleanProperty | showRoot | Свойство, представляющее, виден ли корневой узел TreeView. |
Свойства, объявленные в классе 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 | TreeView.EditEvent<T> | Подкласс Event, используемый в TreeView для представления событий, связанных с редактированием. |
Краткое описание полей
Поля, объявленные в классе javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZE
Поля, объявленные в классе javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
Краткое описание конструкторов
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|
ObjectProperty<Callback<TreeView<T>,TreeCell<T>>> | cellFactoryProperty() | Представляет фабрику ячеек, которая будет использоваться для создания TreeCells, используемых для представления элементов в TreeView. |
|---|---|---|
void | edit(TreeItem<T> item) | Инструктирует TreeView начать редактирование заданного TreeItem, если TreeView является editable. |
BooleanProperty | editableProperty() | Указывает, является ли этот TreeView редактируемым — только если TreeView и TreeCells в нём являются редактируемыми, TreeCell сможет перейти в состояние редактирования. |
static <T> EventType<TreeView.EditEvent<T>> | editAnyEvent() | Тип события, указывающий на то, что произошло событие редактирования. |
static <T> EventType<TreeView.EditEvent<T>> | editCancelEvent() | Тип события, используемый для обозначения того, что событие редактирования было отменено в TreeView, на котором оно было сгенерировано. |
static <T> EventType<TreeView.EditEvent<T>> | editCommitEvent() | Тип события, используемый для обозначения того, что редактирование в TreeView было подтверждено. |
ReadOnlyObjectProperty<TreeItem<T>> | editingItemProperty() | Свойство, используемое для представления TreeItem, который в данный момент редактируется в TreeView, если редактирование выполняется, или null, если ни один элемент не редактируется. |
static <T> EventType<TreeView.EditEvent<T>> | editStartEvent() | Тип события, используемый для обозначения того, что событие редактирования началось в TreeView, на котором оно было сгенерировано. |
ReadOnlyIntegerProperty | expandedItemCountProperty() | Представляет количество узлов дерева, которые могут быть отображены в TreeView. |
DoubleProperty | fixedCellSizeProperty() | Указывает, имеют ли ячейки этого элемента фиксированную высоту (указанного значения). |
ObjectProperty<FocusModel<TreeItem<T>>> | focusModelProperty() | Модель фокуса предоставляет API, с помощью которого можно управлять фокусом на нуле или одной строке TreeView. |
Callback<TreeView<T>,TreeCell<T>> | getCellFactory() | Возвращает фабрику ячеек, которая будет использоваться для создания TreeCells, используемых для представления элементов в TreeView, или null, если не была установлена пользовательская фабрика ячеек. |
static List<CssMetaData<? extends Styleable,?>> | getClassCssMetaData() | |
List<CssMetaData<? extends Styleable,?>> | getControlCssMetaData() | |
TreeItem<T> | getEditingItem() | Возвращает TreeItem, который в данный момент редактируется в TreeView, или null, если ни один элемент не редактируется. |
int | getExpandedItemCount() | Получает значение свойства expandedItemCount. |
double | getFixedCellSize() | Возвращает значение фиксированного размера ячейки. |
FocusModel<TreeItem<T>> | getFocusModel() | Возвращает текущую установленную FocusModel. |
static int | getNodeLevel(TreeItem<?> node) |
Устарело. Этот метод не правильно рассчитывает расстояние от заданного TreeItem до корня TreeView. |
EventHandler<TreeView.EditEvent<T>> | getOnEditCancel() | Возвращает EventHandler, который будет вызван при отмене редактирования пользователем. |
EventHandler<TreeView.EditEvent<T>> | getOnEditCommit() | Возвращает EventHandler, который будет вызван при подтверждении редактирования пользователем. |
EventHandler<TreeView.EditEvent<T>> | getOnEditStart() | Возвращает EventHandler, который будет вызван при начале редактирования пользователем. |
EventHandler<ScrollToEvent<Integer>> | getOnScrollTo() | Получает значение свойства onScrollTo. |
TreeItem<T> | getRoot() | Возвращает текущий корневой узел этого TreeView или null, если корневой узел не указан. |
int | getRow(TreeItem<T> item) | Возвращает позицию индекса заданного TreeItem, предполагая, что он в настоящее время доступен через иерархию дерева (в частности, что все родительские элементы дерева развернуты). |
MultipleSelectionModel<TreeItem<T>> | getSelectionModel() | Возвращает текущую установленную модель выбора. |
TreeItem<T> | getTreeItem(int row) | Возвращает TreeItem по заданному индексу, или null, если он находится за пределами границ. |
int | getTreeItemLevel(TreeItem<?> node) | Возвращает количество уровней «отступа» заданного TreeItem, в зависимости от того, сколько раз можно рекурсивно вызвать getParent(). |
boolean | isEditable() | Получает значение свойства editable. |
boolean | isShowRoot() | Возвращает true, если корень TreeView должен быть показан, и false, если он не должен. |
ObjectProperty<EventHandler<TreeView.EditEvent<T>>> | onEditCancelProperty() | Обработчик событий будет вызван, когда пользователь отменяет редактирование ячейки. |
ObjectProperty<EventHandler<TreeView.EditEvent<T>>> | onEditCommitProperty() | Это свойство используется, когда пользователь выполняет действие, которое должно привести к сохранению его ввода в редактировании. |
ObjectProperty<EventHandler<TreeView.EditEvent<T>>> | onEditStartProperty() | Этот обработчик событий будет вызван, когда пользователь успешно инициирует редактирование. |
ObjectProperty<EventHandler<ScrollToEvent<Integer>>> | onScrollToProperty() | Вызывается при запросе прокрутки индекса в область видимости с помощью scrollTo(int)
|
void | refresh() | Вызов refresh() заставляет элемент управления TreeView пересоздать и повторно заполнить ячейки, необходимые для заполнения визуальных границ элемента управления. |
ObjectProperty<TreeItem<T>> | rootProperty() | Свойство, представляющее корневой узел TreeView. |
void | scrollTo(int index) | Прокручивает TreeView таким образом, что элемент в заданном индексе виден конечному пользователю. |
ObjectProperty<MultipleSelectionModel<TreeItem<T>>> | selectionModelProperty() | Модель выбора предоставляет API, с помощью которого можно выбрать один или несколько элементов в TreeView, а также проверить, какие строки были выбраны пользователем. |
|---|---|---|
void | setCellFactory(Callback<TreeView<T>,TreeCell<T>> value) | Устанавливает фабрику ячеек, которая будет использоваться для создания TreeCells, используемых для представления элементов в TreeView. |
void | setEditable(boolean value) | Устанавливает значение свойства editable. |
void | setFixedCellSize(double value) | Устанавливает новый фиксированный размер ячейки для этого элемента управления. |
void | setFocusModel(FocusModel<TreeItem<T>> value) | Устанавливает FocusModel, который будет использоваться в TreeView. |
void | setOnEditCancel(EventHandler<TreeView.EditEvent<T>> value) | Устанавливает EventHandler, который будет вызван, когда пользователь отменяет редактирование. |
void | setOnEditCommit(EventHandler<TreeView.EditEvent<T>> value) | Устанавливает EventHandler, который будет вызван, когда пользователь подтверждает редактирование. |
void | setOnEditStart(EventHandler<TreeView.EditEvent<T>> value) | Устанавливает EventHandler, который будет вызван, когда пользователь начинает редактирование. |
void | setOnScrollTo(EventHandler<ScrollToEvent<Integer>> value) | Устанавливает значение свойства onScrollTo. |
void | setRoot(TreeItem<T> value) | Устанавливает корневой узел в этом TreeView. |
void | setSelectionModel(MultipleSelectionModel<TreeItem<T>> value) | Устанавливает MultipleSelectionModel, который будет использоваться в TreeView. |
void | setShowRoot(boolean value) | Указывает, должен ли корневой TreeItem отображаться в этом TreeView. |
BooleanProperty | showRootProperty() | Свойство, которое представляет, отображается ли корневой узел TreeView. |
Методы, объявленные в классе javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, contextMenuProperty, createDefaultSkin, getContextMenu, getCssMetaData, getInitialFocusTraversable, getTooltip, isResizable, setContextMenu, setTooltip, skinProperty, tooltipProperty
Методы, объявленные в классе javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computePrefHeight, computePrefWidth, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty
Методы, объявленные в классе javafx.scene.Parent
getBaselineOffset, getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, layoutChildren, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
Методы, объявленные в классе javafx.scene.Node
accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookup, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, queryAccessibleAttribute, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе javafx.css.Styleable
getStyleableNode, getStyleClass
Подробности свойств
cellFactory
public final ObjectProperty<Callback<TreeView<T>,TreeCell<T>>> cellFactoryProperty
- См. также:
-
getCellFactory(),setCellFactory(Callback)
root
public final ObjectProperty<TreeItem<T>> rootProperty
- См. также:
-
getRoot(),setRoot(TreeItem)
showRoot
public final BooleanProperty showRootProperty
- См. также:
-
isShowRoot(),setShowRoot(boolean)
selectionModel
public final ObjectProperty<MultipleSelectionModel<TreeItem<T>>> selectionModelProperty
- См. также:
-
getSelectionModel(),setSelectionModel(MultipleSelectionModel)
focusModel
public final ObjectProperty<FocusModel<TreeItem<T>>> focusModelProperty
- См. также:
-
getFocusModel(),setFocusModel(FocusModel)
expandedItemCount
public final ReadOnlyIntegerProperty expandedItemCountProperty
Представляет количество узлов дерева, которые в настоящее время могут быть видны в TreeView. Это по существу количество всех развернутых элементов дерева и их потомков.
Например, если виден только корневой узел, expandedItemCount будет равен одному. Если у корня было три дочерних элемента и корень был развернут, значение будет равно четырем.
- С момента:
- JavaFX 8.0
- См. также:
getExpandedItemCount()
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)
editable
public final BooleanProperty editableProperty
- См. также:
-
isEditable(),setEditable(boolean)
editingItem
public final ReadOnlyObjectProperty<TreeItem<T>> editingItemProperty
Свойство, используемое для представления TreeItem, который в настоящее время редактируется в TreeView, если редактирование выполняется, или null, если ни один элемент не редактируется.
Установить элемент редактирования нельзя, вместо этого необходимо вызвать edit(javafx.scene.control.TreeItem).
- См. также:
getEditingItem()
onEditStart
public final ObjectProperty<EventHandler<TreeView.EditEvent<T>>> onEditStartProperty
- См. также:
-
getOnEditStart(),setOnEditStart(EventHandler)
onEditCommit
public final ObjectProperty<EventHandler<TreeView.EditEvent<T>>> onEditCommitProperty
Это свойство используется, когда пользователь выполняет действие, которое должно привести к сохранению его входных данных редактирования.
Обработчик событий в этом свойстве не должен вызываться напрямую — вместо этого вызовите Cell.commitEdit(java.lang.Object) внутри вашей пользовательской TreeCell. Это позволит запустить данное событие, обновить представление и выйти из состояния редактирования.
- См. также:
-
getOnEditCommit(),setOnEditCommit(EventHandler)
onEditCancel
public final ObjectProperty<EventHandler<TreeView.EditEvent<T>>> onEditCancelProperty
- См. также:
-
getOnEditCancel(),setOnEditCancel(EventHandler)
onScrollTo
public ObjectProperty<EventHandler<ScrollToEvent<Integer>>> onScrollToProperty
scrollTo(int)
- С момента:
- JavaFX 8.0
- См. также:
-
getOnScrollTo(),setOnScrollTo(EventHandler)
Подробности конструкторов
TreeView
public TreeView()
Обратитесь к документации класса TreeView для получения подробностей о состоянии других свойств по умолчанию.
TreeView
public TreeView(TreeItem<T> root)
Обратитесь к документации класса TreeView для получения подробностей о состоянии других свойств по умолчанию.
- Параметры:
-
root- Узел, который должен быть корнем в этом TreeView.
Подробности методов
editAnyEvent
public static <T> EventType<TreeView.EditEvent<T>> editAnyEvent()
editStartEvent(), editCommitEvent() и editCancelEvent().- Тип параметров:
-
T- тип экземпляров TreeItem, используемых в этом TreeView - Возвращает:
- Тип события, указывающий, что произошло какое-то событие редактирования.
editStartEvent
public static <T> EventType<TreeView.EditEvent<T>> editStartEvent()
- Тип параметров:
-
T- тип экземпляров TreeItem, используемых в этом TreeView - Возвращает:
- Тип события, используемый для указания того, что началось событие редактирования.
editCancelEvent
public static <T> EventType<TreeView.EditEvent<T>> editCancelEvent()
- Тип параметров:
-
T- тип экземпляров TreeItem, используемых в этом TreeView - Возвращает:
- Тип события, используемый для указания того, что событие редактирования было отменено.
editCommitEvent
public static <T> EventType<TreeView.EditEvent<T>> editCommitEvent()
- Тип параметров:
-
T- тип экземпляров TreeItem, используемых в этом TreeView - Возвращает:
- Тип события, используемый для указания того, что редактирование в TreeView было подтверждено.
getNodeLevel
@Deprecated(since="8u20") public static int getNodeLevel(TreeItem<?> node)
getTreeItemLevel(TreeItem)
TreeItem.getParent(). Если у TreeItem нет родительского элемента, возвращаемое значение будет равно нулю. Каждый раз при рекурсивном вызове getParent() возвращаемое значение увеличивается на единицу. Важно: Этот метод устарел, так как не учитывает корневой узел. Это означает, что этот метод будет переходить за корневой узел элемента управления TreeView, если у корневого узла есть родительский элемент. Если это важно, вызовите getTreeItemLevel(TreeItem) вместо него.
- Parameters:
-
node- TreeItem, для которого требуется уровень. - Returns:
- Целое число, представляющее количество родителей над заданным узлом, или -1, если заданный TreeItem равен null.
setCellFactory
public final void setCellFactory(Callback<TreeView<T>,TreeCell<T>> value)
Дополнительную информацию см. в документации по классу Cell.
- Parameters:
-
value-Callbackдля создания экземпляров TreeCell, или null, если должна использоваться стандартная фабрика ячеек.
getCellFactory
public final Callback<TreeView<T>,TreeCell<T>> getCellFactory()
Возвращает фабрику ячеек, которая будет использоваться для создания TreeCells, используемых для представления элементов в TreeView, или null, если пользовательская фабрика ячеек не задана.
- Returns:
- фабрика ячеек
cellFactoryProperty
public final ObjectProperty<Callback<TreeView<T>,TreeCell<T>>> cellFactoryProperty()
- See Also:
-
getCellFactory(),setCellFactory(Callback)
setRoot
public final void setRoot(TreeItem<T> value)
TreeItem.- Parameters:
-
value-TreeItem, который будет помещён в корень TreeView.
getRoot
public final TreeItem<T> getRoot()
- Returns:
- Текущий корневой узел или null, если корневой узел не существует.
rootProperty
public final ObjectProperty<TreeItem<T>> rootProperty()
- See Also:
-
getRoot(),setRoot(TreeItem)
setShowRoot
public final void setShowRoot(boolean value)
TreeItem в этом TreeView.- Parameters:
-
value- Если true, корневой TreeItem будет отображаться, а если false — скрываться.
isShowRoot
public final boolean isShowRoot()
- Returns:
- true, если корень TreeView должен отображаться
showRootProperty
public final BooleanProperty showRootProperty()
- See Also:
-
isShowRoot(),setShowRoot(boolean)
setSelectionModel
public final void setSelectionModel(MultipleSelectionModel<TreeItem<T>> value)
MultipleSelectionModel для использования в TreeView. Несмотря на то, что TreeView требует MultipleSelectionModel, можно настроить его так, чтобы он допускал только однократный выбор (см. MultipleSelectionModel.setSelectionMode(javafx.scene.control.SelectionMode) для получения дополнительной информации).- Parameters:
-
value-MultipleSelectionModelдля использования
getSelectionModel
public final MultipleSelectionModel<TreeItem<T>> getSelectionModel()
- Returns:
- Текущая установленная модель выбора
selectionModelProperty
public final ObjectProperty<MultipleSelectionModel<TreeItem<T>>> selectionModelProperty()
- See Also:
-
getSelectionModel(),setSelectionModel(MultipleSelectionModel)
setFocusModel
public final void setFocusModel(FocusModel<TreeItem<T>> value)
FocusModel для использования в TreeView.- Parameters:
-
value-FocusModelдля использования
getFocusModel
public final FocusModel<TreeItem<T>> getFocusModel()
FocusModel.- Returns:
- текущая установленная
FocusModel
focusModelProperty
public final ObjectProperty<FocusModel<TreeItem<T>>> focusModelProperty()
- See Also:
-
getFocusModel(),setFocusModel(FocusModel)
expandedItemCountProperty
public final ReadOnlyIntegerProperty expandedItemCountProperty()
Представляет количество узлов дерева, которые могут быть видны в TreeView. Это фактически количество всех развернутых элементов дерева и их дочерних элементов.
Например, если виден только корневой узел, expandedItemCount будет равен одному. Если у корневого узла было три дочерних узла и корневой узел был развернут, значение будет четыре.
- Since:
- JavaFX 8.0
- See Also:
getExpandedItemCount()
getExpandedItemCount
public final int getExpandedItemCount()
- Property description:
-
Представляет количество узлов дерева, которые могут быть видны в TreeView. Это фактически количество всех развернутых элементов дерева и их дочерних элементов.
Например, если виден только корневой узел, expandedItemCount будет равен одному. Если у корневого узла было три дочерних узла и корневой узел был развернут, значение будет четыре.
- Since:
- JavaFX 8.0
setFixedCellSize
public final void setFixedCellSize(double value)
- Parameters:
-
value- Новое значение фиксированного размера ячейки или значение меньше или равно нулю (или Region.USE_COMPUTED_SIZE) для отключения. - Since:
- JavaFX 8.0
getFixedCellSize
public final double getFixedCellSize()
- Returns:
- Double, представляющий фиксированный размер ячейки этого элемента управления, или значение меньше или равно нулю, если режим фиксированного размера ячейки отключен.
- Since:
- 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 имеет приоритет.
- Since:
- JavaFX 8.0
- See Also:
-
getFixedCellSize(),setFixedCellSize(double)
setEditable
public final void setEditable(boolean value)
- Описание свойства:
- Указывает, является ли этот TreeView редактируемым. Для того, чтобы TreeCell мог перейти в состояние редактирования, TreeView и TreeCells внутри него должны быть оба редактируемыми.
isEditable
public final boolean isEditable()
- Описание свойства:
- Указывает, является ли этот TreeView редактируемым. Для того, чтобы TreeCell мог перейти в состояние редактирования, TreeView и TreeCells внутри него должны быть оба редактируемыми.
editableProperty
public final BooleanProperty editableProperty()
- See Also:
-
isEditable(),setEditable(boolean)
getEditingItem
public final TreeItem<T> getEditingItem()
- Возвращает:
- TreeItem, который в данный момент редактируется в TreeView
editingItemProperty
public final ReadOnlyObjectProperty<TreeItem<T>> editingItemProperty()
Свойство, представляющее TreeItem, который в данный момент редактируется в TreeView, если редактирование происходит, или null, если ни один элемент не редактируется.
Невозможно установить элемент редактирования, вместо этого необходимо вызвать edit(javafx.scene.control.TreeItem).
- See Also:
getEditingItem()
setOnEditStart
public final void setOnEditStart(EventHandler<TreeView.EditEvent<T>> value)
EventHandler, который будет вызван при начале редактирования пользователем.- Параметры:
-
value- обработчик событийEventHandler, который будет вызван при начале редактирования пользователем
getOnEditStart
public final EventHandler<TreeView.EditEvent<T>> getOnEditStart()
EventHandler, который будет вызван при начале редактирования пользователем.- Возвращает:
- обработчик событий
EventHandler, который будет вызван при начале редактирования пользователем
onEditStartProperty
public final ObjectProperty<EventHandler<TreeView.EditEvent<T>>> onEditStartProperty()
- See Also:
-
getOnEditStart(),setOnEditStart(EventHandler)
setOnEditCommit
public final void setOnEditCommit(EventHandler<TreeView.EditEvent<T>> value)
EventHandler, который будет вызван при подтверждении редактирования пользователем.- Параметры:
-
value- обработчик событийEventHandler, который будет вызван при подтверждении редактирования пользователем
getOnEditCommit
public final EventHandler<TreeView.EditEvent<T>> getOnEditCommit()
EventHandler, который будет вызван при подтверждении редактирования пользователем.- Возвращает:
- обработчик событий
EventHandler, который будет вызван при подтверждении редактирования пользователем
onEditCommitProperty
public final ObjectProperty<EventHandler<TreeView.EditEvent<T>>> onEditCommitProperty()
Это свойство используется, когда пользователь выполняет действие, которое должно привести к сохранению его ввода при редактировании.
Обработчик событий в этом свойстве не должен вызываться напрямую - вместо этого вызовите Cell.commitEdit(java.lang.Object) из внутри вашего пользовательского TreeCell. Это позволит обработать запуск этого события, обновление представления и выход из состояния редактирования.
- See Also:
-
getOnEditCommit(),setOnEditCommit(EventHandler)
setOnEditCancel
public final void setOnEditCancel(EventHandler<TreeView.EditEvent<T>> value)
EventHandler, который будет вызван при отмене редактирования пользователем.- Параметры:
-
value- обработчик событийEventHandler, который будет вызван при отмене редактирования пользователем
getOnEditCancel
public final EventHandler<TreeView.EditEvent<T>> getOnEditCancel()
EventHandler, который будет вызван при отмене редактирования пользователем.- Возвращает:
- обработчик событий
EventHandler, который будет вызван при отмене редактирования пользователем
onEditCancelProperty
public final ObjectProperty<EventHandler<TreeView.EditEvent<T>>> onEditCancelProperty()
- See Also:
-
getOnEditCancel(),setOnEditCancel(EventHandler)
edit
public void edit(TreeItem<T> item)
editable. После вызова этого метода, если текущий cell factory настроен для поддержки редактирования, ячейка переключит свое визуальное состояние, чтобы включить ввод пользователя.- Параметры:
-
item- TreeItem в TreeView, который должен быть отредактирован.
scrollTo
public void scrollTo(int index)
- Параметры:
-
index- Индекс, который должен быть виден пользователю, предполагая, что он больше или равен 0 и меньше, чем количество видимых элементов в TreeView.
setOnScrollTo
public void setOnScrollTo(EventHandler<ScrollToEvent<Integer>> value)
- Описание свойства:
- Вызывается, когда есть запрос на прокрутку индекса в область видимости с помощью
scrollTo(int) - Since:
- JavaFX 8.0
getOnScrollTo
public EventHandler<ScrollToEvent<Integer>> getOnScrollTo()
- Описание свойства:
- Вызывается, когда есть запрос на прокрутку индекса в область видимости с помощью
scrollTo(int) - Since:
- JavaFX 8.0
onScrollToProperty
public ObjectProperty<EventHandler<ScrollToEvent<Integer>>> onScrollToProperty()
scrollTo(int)
- Since:
- JavaFX 8.0
- See Also:
-
getOnScrollTo(),setOnScrollTo(EventHandler)
getRow
public int getRow(TreeItem<T> item)
- Параметры:
-
item- TreeItem, для которого ищется индекс. - Возвращает:
- Целое число, представляющее расположение в текущем TreeView первой записи данного TreeItem, или -1, если он равен null или не может быть найден (например, если родительский элемент (до корневого) свёрнут).
getTreeItem
public TreeItem<T> getTreeItem(int row)
- Параметры:
-
row- Индекс искомого TreeItem. - Возвращает:
- TreeItem в заданном индексе или null, если он находится за пределами допустимых значений.
getTreeItemLevel
public int getTreeItemLevel(TreeItem<?> node)
- Параметры:
-
node- TreeItem, для которого требуется уровень. - Возвращает:
- Целое число, представляющее количество родительских элементов над заданным узлом, или -1, если данный TreeItem равен null.
refresh
public void refresh()
refresh() заставляет элемент управления TreeView пересоздать и повторно заполнить ячейки, необходимые для заполнения визуальных границ элемента управления. Другими словами, это заставляет TreeView обновить то, что отображается пользователю. Это полезно в тех случаях, когда исходный источник данных изменился таким образом, что TreeView это не заметил.- Since:
- JavaFX 8u60
getClassCssMetaData
public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
- Возвращает:
- CssMetaData, связанный с этим классом, который может включать CssMetaData его суперклассов.
- Since:
- JavaFX 8.0
getControlCssMetaData
public List<CssMetaData<? extends Styleable,?>> getControlCssMetaData()
- Overrides:
-
getControlCssMetaDataв классеControl - Возвращает:
- неизменяемый список стилизуемых свойств элементов управления
- Since:
- JavaFX 8.0
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.