Класс TreeView<T>
- javafx.scene.Node
-
- javafx.scene.Parent
-
- javafx.scene.layout.Region
-
- javafx.scene.control.Control
-
- javafx.scene.control.TreeView<T>
Параметры типа:
T - Тип элемента, содержащегося в свойстве значения TreeItem для всех элементов дерева в этом TreeView.
Все реализованные интерфейсы:
@DefaultProperty(value="root") public class TreeView<T> extends Control
TreeItem). С помощью TreeView можно рекурсивно углубляться в подчинённые узлы TreeItem, пока TreeItem не окажется без дочерних узлов (т.е., это листовой узел в дереве). В отличие от таких компонентов, как ListView, в TreeView необходимо только указать узел root. Для получения более подробной информации о построении дерева с помощью этого подхода, обратитесь к документации класса TreeItem. Однако кратко, чтобы создать TreeView, нужно сделать что-то вроде следующего:
TreeItem<String> root = new TreeItem<String>("Root Node");
root.setExpanded(true);
root.getChildren().addAll(
new TreeItem<String>("Item 1"),
new TreeItem<String>("Item 2"),
new TreeItem<String>("Item 3")
);
TreeView<String> treeView = new TreeView<String>(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) для добавления EDIT_COMMIT_EVENT EventType с вашим желаемым обработчиком EventHandler в качестве второго аргумента. Используя этот метод, вы не заменяете реализацию по умолчанию, но вы будете уведомлены, когда произойдёт подтверждение редактирования.
Надеюсь, этот обзор отвечает на некоторые часто задаваемые вопросы. К счастью, JavaFX поставляется с рядом готовых заводов ячеек, которые обрабатывают все требования к редактированию за вас. Эти готовые заводы ячеек можно найти в пакете javafx.scene.control.cell.
-
Краткое описание свойств
Все методыМетоды экземпляраКонкретные методы Тип Свойство и описание ObjectProperty<Callback<TreeView<T>,TreeCell<T>>>cellFactoryПредставляет фабрику ячеек, которая будет использоваться для создания TreeCells, используемых для представления элементов в TreeView.BooleanPropertyeditableУказывает, является ли этот TreeView редактируемым — только если TreeView и TreeCells внутри него редактируемы, TreeCell сможет перейти в режим редактирования.ReadOnlyObjectProperty<TreeItem<T>>editingItemСвойство, используемое для представления TreeItem, который в данный момент редактируется в TreeView, если редактирование выполняется, или null, если ни один элемент не редактируется.ReadOnlyIntegerPropertyexpandedItemCountПредставляет количество узлов дерева, которые могут быть видны в TreeView.DoublePropertyfixedCellSizeУказывает, имеют ли ячейки этого элемента фиксированную высоту (указанного значения).ObjectProperty<FocusModel<TreeItem<T>>>focusModelFocusModel предоставляет 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>>>selectionModelSelectionModel предоставляет API, с помощью которого можно выбирать один или несколько элементов в TreeView, а также проверять, какие строки выбрал пользователь.BooleanPropertyshowRootСвойство, представляющее, виден ли корневой узел 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, visible
-
-
Краткое описание вложенных классов
Вложенные классы Модификатор и тип Класс и описание static classTreeView.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.protected Skin<?>createDefaultSkin()Создаёт новый экземпляр стандартной темы для данного элемента управления.voidedit(TreeItem<T> item)Инструктирует TreeView начать редактирование указанного TreeItem, если TreeVieweditable.BooleanPropertyeditableProperty()Указывает, является ли этот 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, для которого было сгенерировано событие.ReadOnlyIntegerPropertyexpandedItemCountProperty()Представляет количество узлов дерева, которые в данный момент могут быть видны в TreeView.DoublePropertyfixedCellSizeProperty()Указывает, имеют ли ячейки этого элемента управления фиксированную высоту (указанного значения).ObjectProperty<FocusModel<TreeItem<T>>>focusModelProperty()FocusModel предоставляет 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, если ни один элемент не редактируется.intgetExpandedItemCount()Возвращает значение свойства expandedItemCount.doublegetFixedCellSize()Возвращает значение фиксированного размера ячейки.FocusModel<TreeItem<T>>getFocusModel()Возвращает текущую установленнуюFocusModel.static intgetNodeLevel(TreeItem<?> node)Устарело.Этот метод не правильно вычисляет расстояние от заданного TreeItem до корня TreeView. Начиная с JavaFX 8.0_20, правильным способом являетсяgetTreeItemLevel(TreeItem).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, если корневой узел не указан.intgetRow(TreeItem<T> item)Возвращает позицию индекса данного TreeItem, с учётом текущего состояния каждого TreeItem (например…)MultipleSelectionModel<TreeItem<T>>getSelectionModel()Возвращает текущую установленную модель выбора.TreeItem<T>getTreeItem(int row)Возвращает TreeItem в заданном индексе, или null, если он вне границ.intgetTreeItemLevel(TreeItem<?> node)Возвращает количество уровней «отступа» данного TreeItem, основанное на том, сколько раз можно рекурсивно вызвать getParent().booleanisEditable()Возвращает значение свойства editable.booleanisShowRoot()Возвращает true, если корень TreeView должен быть показан, и false, если нет.protected voidlayoutChildren()Вызывается во время прохода компоновки для компоновки дочерних элементов в этомParent.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)ObjectqueryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)* Обработка доступности * *ObjectProperty<TreeItem<T>>rootProperty()Свойство, представляющее корневой узел TreeView.voidscrollTo(int index)Прокручивает TreeView таким образом, чтобы элемент в заданном индексе был виден пользователю.ObjectProperty<MultipleSelectionModel<TreeItem<T>>>selectionModelProperty()SelectionModel предоставляет API, с помощью которого можно выбирать один или несколько элементов в TreeView, а также проверять, какие строки были выбраны пользователем.voidsetCellFactory(Callback<TreeView<T>,TreeCell<T>> value)Устанавливает фабрику ячеек, которая будет использоваться для создания TreeCells, используемых для представления элементов в TreeView.voidsetEditable(boolean value)Устанавливает значение свойства editable.voidsetFocusModel(FocusModel<TreeItem<T>> value)Устанавливает новый фиксированный размер ячейки для этого элемента управления.voidsetFocusModel(FocusModel<TreeItem<T>> value)УстанавливаетFocusModelдля использования в TreeView.voidsetOnEditCancel(EventHandler<TreeView.EditEvent<T>> value)УстанавливаетEventHandler, который будет вызван при отмене редактирования пользователем.voidsetOnEditCommit(EventHandler<TreeView.EditEvent<T>> value)УстанавливаетEventHandler, который будет вызван при подтверждении редактирования пользователем.voidsetOnEditStart(EventHandler<TreeView.EditEvent<T>> value)УстанавливаетEventHandler, который будет вызван при начале редактирования пользователем.voidsetOnScrollTo(EventHandler<ScrollToEvent<Integer>> value)Устанавливает значение свойства onScrollTo.voidsetRoot(TreeItem<T> value)Устанавливает корневой узел в этом TreeView.voidsetSelectionModel(MultipleSelectionModel<TreeItem<T>> value)УстанавливаетMultipleSelectionModelдля использования в TreeView.voidsetShowRoot(boolean value)Указывает, должен ли быть показан корневойTreeItemв этом TreeView.BooleanPropertyshowRootProperty()Свойство, представляющее, отображается ли корневой узел TreeView.-
Наследованные методы из класса javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getContextMenu, getCssMetaData, getSkin, getTooltip, isResizable, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty
-
Наследованные методы из класса javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapSize, snapSpace, snapToPixelProperty, widthProperty
-
Наследованные методы из класса javafx.scene.Parent
getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
-
Наследованные методы из класса javafx.scene.Node
accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, 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, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, visibleProperty
-
-
Подробное описание свойства
-
cellFactory
public final ObjectProperty<Callback<TreeView<T>,TreeCell<T>>> cellFactoryProperty
Представляет фабрику ячеек, которая будет использоваться для создания TreeCells, используемых для представления элементов в TreeView.
-
root
public final ObjectProperty<TreeItem<T>> rootProperty
Свойство, представляющее корневой узел TreeView.См. также:
-
showRoot
public final BooleanProperty showRootProperty
Свойство, представляющее, отображается ли корневой узел TreeView.См. также:
-
selectionModel
public final ObjectProperty<MultipleSelectionModel<TreeItem<T>>> selectionModelProperty
SelectionModel предоставляет API, с помощью которого можно выделять один или несколько элементов в TreeView, а также проверять, какие строки были выделены пользователем. Обратите внимание, что у него есть обобщённый тип, который должен соответствовать типу самого TreeView.
-
focusModel
public final ObjectProperty<FocusModel<TreeItem<T>>> focusModelProperty
FocusModel предоставляет API, с помощью которого можно управлять фокусом на нулевых или одной строке TreeView. Как правило, реализации по умолчанию должны быть более чем достаточными.См. также:
-
expandedItemCount
public final ReadOnlyIntegerProperty expandedItemCountProperty
Представляет количество узлов дерева, которые в настоящее время могут быть видны в TreeView. Это по существу количество всех развернутых элементов дерева и их потомков.
Например, если виден только корневой узел, expandedItemCount будет равен одному. Если у корневого узла было три дочерних узла, а корневой узел был развернут, значение будет равно четырём.
С:
JavaFX 8.0
См. также:
-
fixedCellSize
public final DoubleProperty fixedCellSizeProperty
Указывает, имеет ли данный элемент управления ячейки с фиксированной высотой (указанной величины). Если это значение меньше или равно нулю, все ячейки имеют индивидуально заданные размеры и положение. Это медленная операция. Поэтому, когда важна производительность, и разработчики не зависят от переменных размеров ячеек, рекомендуется установить значение фиксированного размера ячейки. Как правило, ячейки имеют размер около 24 пикселей, поэтому установка фиксированного размера ячейки в 24 пикселя, скорее всего, практически не повлияет на визуальное отображение, но улучшит производительность.Чтобы установить это свойство через CSS, используйте свойство -fx-fixed-cell-size. Не следует путать его со свойством -fx-cell-size. Разница между этими двумя свойствами CSS заключается в том, что -fx-cell-size установит размер всех ячеек до указанного размера, но не будет навязывать, что это единственный размер (поэтому допускаются переменные размеры ячеек и предотвращается возможность повышения производительности). Следовательно, когда важна производительность, используйте -fx-fixed-cell-size вместо -fx-cell-size. Если оба свойства указаны в CSS, -fx-fixed-cell-size имеет приоритет.
С:
JavaFX 8.0
См. также:
-
editable
public final BooleanProperty editableProperty
Указывает, является ли данное TreeView редактируемым — только если TreeView и TreeCells в нём оба являются редактируемыми, TreeCell сможет перейти в состояние редактирования.См. также:
-
editingItem
public final ReadOnlyObjectProperty<TreeItem<T>> editingItemProperty
Свойство, используемое для представления TreeItem, который в настоящее время редактируется в TreeView, если редактирование выполняется, или null, если ни один элемент не редактируется.
Невозможно установить элемент редактирования, вместо этого необходимо вызвать
edit(javafx.scene.control.TreeItem).См. также:
-
onEditStart
public final ObjectProperty<EventHandler<TreeView.EditEvent<T>>> onEditStartProperty
Этот обработчик событий будет срабатывать, когда пользователь успешно начнёт редактирование.См. также:
-
onEditCommit
public final ObjectProperty<EventHandler<TreeView.EditEvent<T>>> onEditCommitProperty
Это свойство используется, когда пользователь выполняет действие, которое должно привести к сохранению их ввода при редактировании.
Обработчик событий в этом свойстве не должен вызываться напрямую — вместо этого вызовите
TreeCell.commitEdit(java.lang.Object)в своём пользовательском TreeCell. Это позволит обработать срабатывание этого события, обновление представления и переход из состояния редактирования.См. также:
-
onEditCancel
public final ObjectProperty<EventHandler<TreeView.EditEvent<T>>> onEditCancelProperty
Этот обработчик событий будет срабатывать, когда пользователь отменяет редактирование ячейки.См. также:
-
onScrollTo
public ObjectProperty<EventHandler<ScrollToEvent<Integer>>> onScrollToProperty
Вызывается, когда есть запрос на прокрутку индекса в область видимости с помощьюscrollTo(int)С:
JavaFX 8.0
См. также:
-
-
Подробное описание конструктора
-
TreeView
public TreeView()
Создаёт пустой TreeView.Обратитесь к документации класса
TreeViewдля получения сведений о состоянии других свойств по умолчанию.
-
TreeView
public TreeView(TreeItem<T> root)
Создаёт TreeView с предоставленным корневым узлом.Обратитесь к документации класса
TreeViewдля получения сведений о состоянии других свойств по умолчанию.Параметры:
root— узел, который должен быть корнем в этом TreeView.
-
-
Подробное описание методов
-
editAnyEvent
public static <T> EventType<TreeView.EditEvent<T>> editAnyEvent()
Тип события EventType, указывающий на то, что произошло какое-либо событие редактирования. Это родительский тип всех других событий редактирования:editStartEvent(),editCommitEvent()иeditCancelEvent().Возвращает:
Тип события EventType, указывающий на то, что произошло какое-либо событие редактирования.
-
editStartEvent
public static <T> EventType<TreeView.EditEvent<T>> editStartEvent()
Тип события EventType, используемый для указания на то, что событие редактирования началось в элементе TreeView, в котором было сгенерировано это событие.Возвращает:
Тип события EventType, используемый для указания на то, что началось событие редактирования.
-
editCancelEvent
public static <T> EventType<TreeView.EditEvent<T>> editCancelEvent()
Тип события EventType, используемый для указания на то, что событие редактирования было отменено в элементе TreeView, в котором было сгенерировано это событие.Возвращает:
Тип события EventType, используемый для указания на то, что событие редактирования было отменено.
-
editCommitEvent
public static <T> EventType<TreeView.EditEvent<T>> editCommitEvent()
Тип события EventType, используемый для указания на то, что редактирование в элементе TreeView было выполнено. Это означает, что пользователь внес изменения в данные TreeItem, и интерфейс должен быть обновлен.Возвращает:
Тип события EventType, используемый для указания на то, что редактирование в элементе TreeView было выполнено.
-
getNodeLevel
@Deprecated public static int getNodeLevel(TreeItem<?> node)
Устаревший. Этот метод не правильно рассчитывает расстояние от заданного TreeItem до корня TreeView. Начиная с JavaFX 8.0_20, правильный способ сделать это - черезgetTreeItemLevel(TreeItem)Возвращает количество уровней "отступов" данного TreeItem, основанное на том, сколько раз можно рекурсивно вызватьTreeItem.getParent(). Если у TreeItem нет родительского элемента, возвращаемое значение будет равно нулю. Каждый раз, когда рекурсивно вызывается getParent(), возвращаемое значение увеличивается на единицу.Важно: Этот метод устарел, так как он не учитывает корневой узел. Это означает, что этот метод будет переходить за корневой узел элемента управления TreeView, если у корневого узла есть родитель. Если это важно, используйте
getTreeItemLevel(TreeItem).Параметры:
node- TreeItem, для которого требуется уровень.Возвращает:
Целое число, представляющее количество родителей над заданным узлом, или -1, если заданный TreeItem равен null.
-
setCellFactory
public final void setCellFactory(Callback<TreeView<T>,TreeCell<T>> value)
Устанавливает фабрику ячеек, которая будет использоваться для создания TreeCells, используемых для представления элементов в TreeView. Фабрика работает аналогично cellFactory в ListView и других сложных составных элементах управления. Она вызывается для создания новой TreeCell только тогда, когда система определила, что у нее недостаточно ячеек для представления текущих видимых элементов. Система повторно использует TreeCell для представления различных элементов дерева, когда это возможно.Дополнительные сведения см. в документации класса
Cell.Параметры:
value-Callbackдля создания экземпляров TreeCell или null, если следует использовать стандартную фабрику ячеек.
-
getCellFactory
public final Callback<TreeView<T>,TreeCell<T>> getCellFactory()
Возвращает фабрику ячеек, которая будет использоваться для создания TreeCells, используемых для представления элементов в TreeView, или null, если пользовательская фабрика ячеек не задана.
-
cellFactoryProperty
public final ObjectProperty<Callback<TreeView<T>,TreeCell<T>>> cellFactoryProperty()
Представляет фабрику ячеек, которая будет использоваться для создания TreeCells, используемых для представления элементов в TreeView.
-
setRoot
public final void setRoot(TreeItem<T> value)
Устанавливает корневой узел в этом TreeView. Дополнительные сведения см. в документации уровня классаTreeItem.Параметры:
value-TreeItem, который будет размещен в корне TreeView.
-
getRoot
public final TreeItem<T> getRoot()
Возвращает текущий корневой узел этого TreeView или null, если корневой узел не указан.Возвращает:
Текущий корневой узел или null, если корневой узел отсутствует.
-
rootProperty
public final ObjectProperty<TreeItem<T>> rootProperty()
Свойство, представляющее корневой узел TreeView.См. также:
-
setShowRoot
public final void setShowRoot(boolean value)
Указывает, должен ли корневой узелTreeItemотображаться в этом TreeView.Параметры:
value- Если true, корневой TreeItem будет отображаться, а если false — скрываться.
-
isShowRoot
public final boolean isShowRoot()
Возвращает true, если корень TreeView должен отображаться, и false, если нет. По умолчанию корневой TreeItem виден в TreeView.
-
showRootProperty
public final BooleanProperty showRootProperty()
Свойство, представляющее, отображается ли корневой узел TreeView.См. также:
-
setSelectionModel
public final void setSelectionModel(MultipleSelectionModel<TreeItem<T>> value)
УстанавливаетMultipleSelectionModelдля использования в TreeView. Несмотря на то, что TreeView требуетMultipleSelectionModel, можно настроить его так, чтобы допускалась только одиночная выборка (см.MultipleSelectionModel.setSelectionMode(javafx.scene.control.SelectionMode)для получения дополнительной информации).
-
getSelectionModel
public final MultipleSelectionModel<TreeItem<T>> getSelectionModel()
Возвращает текущую установленную модель выбора.
-
selectionModelProperty
public final ObjectProperty<MultipleSelectionModel<TreeItem<T>>> selectionModelProperty()
Модель выбора предоставляет API, с помощью которого можно выбирать один или несколько элементов в TreeView, а также проверять, какие строки выбраны пользователем. Обратите внимание, что у нее есть обобщенный тип, который должен соответствовать типу самого TreeView.
-
setFocusModel
public final void setFocusModel(FocusModel<TreeItem<T>> value)
УстанавливаетFocusModelдля использования в TreeView.
-
getFocusModel
public final FocusModel<TreeItem<T>> getFocusModel()
Возвращает текущую установленнуюFocusModel.
-
focusModelProperty
public final ObjectProperty<FocusModel<TreeItem<T>>> focusModelProperty()
FocusModel предоставляет API, с помощью которого можно управлять фокусом на нулевых или одной строке TreeView. Обычно должна быть достаточна реализация по умолчанию.См. также:
-
expandedItemCountProperty
public final ReadOnlyIntegerProperty expandedItemCountProperty()
Представляет количество узлов дерева, которые в данный момент могут быть видны в TreeView. Это по существу количество всех развернутых элементов дерева и их дочерних элементов.
Например, если виден только корневой узел, значение expandedItemCount будет равно одному. Если у корня было три дочерних элемента, и корень был развернут, значение будет равно четырем.
С:
JavaFX 8.0
См. также:
-
getExpandedItemCount
public final int getExpandedItemCount()
Получает значение свойства expandedItemCount.Описание свойства:
Представляет количество узлов дерева, которые в данный момент могут быть видны в TreeView. Это по существу количество всех развернутых элементов дерева и их дочерних элементов.
Например, если виден только корневой узел, значение expandedItemCount будет равно одному. Если у корня было три дочерних элемента, и корень был развернут, значение будет равно четырем.
С:
JavaFX 8.0
-
setFixedCellSize
public final void setFixedCellSize(double value)
Устанавливает новый фиксированный размер ячейки для этого элемента управления. Любое значение, большее нуля, включит режим фиксированного размера ячейки, а значение ноль или меньше (или Region.USE_COMPUTED_SIZE) будет использоваться для отключения режима фиксированного размера ячейки.Параметры:
value- Новое значение фиксированного размера ячейки или значение меньше или равно нулю (или Region.USE_COMPUTED_SIZE) для отключения.С:
JavaFX 8.0
-
getFixedCellSize
public final double getFixedCellSize()
Возвращает значение фиксированного размера ячейки. Значение меньше или равно нулю используется для обозначения того, что режим фиксированного размера ячейки отключен, а значение больше нуля представляет размер всех ячеек в этом элементе управления.Возвращает:
Двойное значение, представляющее фиксированный размер ячейки этого элемента управления, или значение меньше или равно нулю, если режим фиксированного размера ячеек отключен.
С:
JavaFX 8.0
-
-
fixedCellSizeProperty
public final DoubleProperty fixedCellSizeProperty()
Указывает, имеет ли данный элемент управления ячейки с фиксированной высотой (указанного значения). Если это значение меньше или равно нулю, все ячейки имеют индивидуальный размер и позиционирование. Это медленная операция. Поэтому, когда важна производительность, а разработчики не зависят от переменных размеров ячеек, рекомендуется установить значение фиксированного размера ячейки. Обычно ячейки имеют размер около 24 пикселей, поэтому установка фиксированного размера ячейки в 24 пикселя, вероятно, практически не повлияет на визуальное отображение, но улучшит производительность.Для установки этого свойства через CSS используйте свойство -fx-fixed-cell-size. Не следует путать его со свойством -fx-cell-size. Разница между этими двумя свойствами CSS заключается в том, что -fx-cell-size задаст размер всех ячеек до указанного значения, но не будет навязывать этот размер как единственный (позволяя переменные размеры ячеек и предотвращая повышение производительности). Поэтому, когда важна производительность, используйте -fx-fixed-cell-size вместо -fx-cell-size. Если оба свойства указаны в CSS, -fx-fixed-cell-size имеет приоритет.
С момента:
JavaFX 8.0
См. также:
-
setEditable
public final void setEditable(boolean value)
Устанавливает значение свойства editable.Описание свойства:
Указывает, является ли данный TreeView редактируемым — только если TreeView и TreeCells внутри него являются редактируемыми, TreeCell сможет перейти в состояние редактирования.
-
isEditable
public final boolean isEditable()
Возвращает значение свойства editable.Описание свойства:
Указывает, является ли данный TreeView редактируемым — только если TreeView и TreeCells внутри него являются редактируемыми, TreeCell сможет перейти в состояние редактирования.
-
editableProperty
public final BooleanProperty editableProperty()
Указывает, является ли данный TreeView редактируемым — только если TreeView и TreeCells внутри него являются редактируемыми, TreeCell сможет перейти в состояние редактирования.См. также:
-
getEditingItem
public final TreeItem<T> getEditingItem()
Возвращает TreeItem, который в данный момент редактируется в TreeView, или null, если ни один элемент не редактируется.
-
editingItemProperty
public final ReadOnlyObjectProperty<TreeItem<T>> editingItemProperty()
Свойство, используемое для представления TreeItem, который в данный момент редактируется в TreeView, если редактирование происходит, или null, если ни один элемент не редактируется.
Невозможно установить TreeItem для редактирования, вместо этого необходимо вызвать
edit(javafx.scene.control.TreeItem).См. также:
-
setOnEditStart
public final void setOnEditStart(EventHandler<TreeView.EditEvent<T>> value)
Устанавливает обработчик событий, который будет вызываться при начале редактирования пользователем.
-
getOnEditStart
public final EventHandler<TreeView.EditEvent<T>> getOnEditStart()
Возвращает обработчик событий, который будет вызываться при начале редактирования пользователем.
-
onEditStartProperty
public final ObjectProperty<EventHandler<TreeView.EditEvent<T>>> onEditStartProperty()
Этот обработчик событий будет вызван, когда пользователь успешно начнёт редактирование.См. также:
-
setOnEditCommit
public final void setOnEditCommit(EventHandler<TreeView.EditEvent<T>> value)
Устанавливает обработчик событий, который будет вызван при подтверждении пользователем редактирования.
-
getOnEditCommit
public final EventHandler<TreeView.EditEvent<T>> getOnEditCommit()
Возвращает обработчик событий, который будет вызван при подтверждении пользователем редактирования.
-
onEditCommitProperty
public final ObjectProperty<EventHandler<TreeView.EditEvent<T>>> onEditCommitProperty()
Это свойство используется, когда пользователь выполняет действие, которое должно привести к сохранению его входных данных редактирования.
Обработчик событий в этом свойстве не должен вызываться напрямую — вместо этого вызовите
TreeCell.commitEdit(java.lang.Object)изнутри вашего пользовательского TreeCell. Это позволит обработать срабатывание этого события, обновить представление и выйти из состояния редактирования.См. также:
-
setOnEditCancel
public final void setOnEditCancel(EventHandler<TreeView.EditEvent<T>> value)
Устанавливает обработчик событий, который будет вызван при отмене пользователем редактирования.
-
getOnEditCancel
public final EventHandler<TreeView.EditEvent<T>> getOnEditCancel()
Возвращает обработчик событий, который будет вызван при отмене пользователем редактирования.
-
onEditCancelProperty
public final ObjectProperty<EventHandler<TreeView.EditEvent<T>>> onEditCancelProperty()
Этот обработчик событий будет вызван, когда пользователь отменяет редактирование ячейки.См. также:
-
layoutChildren
protected void layoutChildren()
Вызывается во время прохода компоновки для компоновки дочерних элементов в этомParent. По умолчанию он устанавливает размер управляемого, масштабируемого содержимого до их предпочтительных размеров и не выполняет позиционирование узлов.Подклассы должны переопределять эту функцию для компоновки содержимого по мере необходимости.
Переопределяет:
layoutChildrenв классеControl
-
edit
public void edit(TreeItem<T> item)
Указывает TreeView начать редактирование заданного TreeItem, если TreeView являетсяeditable. После вызова этого метода, если текущийcell factoryнастроен для поддержки редактирования, Cell переключится на визуальное состояние, чтобы пользователь мог вводить данные.Параметры:
item— TreeItem в TreeView, который должен быть отредактирован.
-
scrollTo
public void scrollTo(int index)
Прокручивает TreeView таким образом, что элемент с заданным индексом становится видимым для пользователя.Параметры:
index— индекс, который должен быть виден пользователю, предполагая, конечно, что он больше или равен 0 и меньше числа видимых элементов в TreeView.
-
setOnScrollTo
public void setOnScrollTo(EventHandler<ScrollToEvent<Integer>> value)
Устанавливает значение свойства onScrollTo.Описание свойства:
Вызывается при запросе прокрутки индекса в область видимости с помощью
scrollTo(int)С момента:
JavaFX 8.0
-
getOnScrollTo
public EventHandler<ScrollToEvent<Integer>> getOnScrollTo()
Возвращает значение свойства onScrollTo.Описание свойства:
Вызывается при запросе прокрутки индекса в область видимости с помощью
scrollTo(int)С момента:
JavaFX 8.0
-
onScrollToProperty
public ObjectProperty<EventHandler<ScrollToEvent<Integer>>> onScrollToProperty()
Вызывается при запросе прокрутки индекса в область видимости с помощьюscrollTo(int)С момента:
JavaFX 8.0
См. также:
-
getRow
public int getRow(TreeItem<T> item)
Возвращает позицию индекса заданного TreeItem, учитывая текущее состояние каждого TreeItem (т. е. расширен или нет).Параметры:
item— TreeItem, для которого ищется индекс.Возвращает:
Целое число, представляющее расположение в текущем TreeView первого экземпляра заданного TreeItem, или -1, если он равен null или не найден.
-
getTreeItem
public TreeItem<T> getTreeItem(int row)
Возвращает TreeItem по заданному индексу или null, если индекс выходит за пределы допустимых значений.Параметры:
row— индекс искомого TreeItem.Возвращает:
TreeItem по заданному индексу или null, если индекс выходит за пределы допустимых значений.
-
getTreeItemLevel
public int getTreeItemLevel(TreeItem<?> node)
Возвращает количество уровней «отступа» данного TreeItem, основываясь на том, сколько раз можно рекурсивно вызвать getParent(). Если заданный TreeItem является корневым узлом этого TreeView или если у TreeItem нет установленного родителя, возвращаемое значение будет равно нулю. Каждый раз, когда рекурсивно вызывается getParent(), возвращаемое значение увеличивается на единицу.Параметры:
node— TreeItem, для которого нужен уровень.Возвращает:
Целое число, представляющее количество родителей выше данного узла, или -1, если заданный TreeItem равен null.
-
createDefaultSkin
protected Skin<?> createDefaultSkin()
Создаёт новый экземпляр стандартной темы для данного элемента управления. Вызывается для создания темы для элемента управления, если тема не задана через CSS-fx-skinили не установлена явно в подклассе сsetSkin(...).Переопределяет:
createDefaultSkinв классеControlВозвращает:
новый экземпляр стандартной темы для данного элемента управления. Если null, то элемент управления не будет иметь темы, если не будет указана тема через CSS.
-
getClassCssMetaData
public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
Возвращает:
CssMetaData, связанную с этим классом, которая может включать CssMetaData его родительских классов.
С момента:
JavaFX 8.0
-
getControlCssMetaData
public List<CssMetaData<? extends Styleable,?>> getControlCssMetaData()
Переопределяет:
getControlCssMetaDataв классеControlВозвращает:
неизменяемый список стилизуемых свойств управления
С момента:
JavaFX 8.0
-
-
queryAccessibleAttribute
public Object queryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)* Обработка доступности * *Переопределяет:
queryAccessibleAttributeв классеControlПараметры:
attribute- запрашиваемый атрибутВозвращает:
значение для запрашиваемого атрибута
См. также:
-
© 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.