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