Класс ListView<T>
- javafx.scene.Node
-
- javafx.scene.Parent
-
- javafx.scene.layout.Region
-
- javafx.scene.control.Control
-
- javafx.scene.control.ListView<T>
Параметры типа:
T - Этот тип используется для представления типа объектов, хранящихся в списке ListView items ObservableList. Он также используется в selection model и focus model.
Все реализованные интерфейсы:
@DefaultProperty(value="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(), чтобы вернуть пользовательский интерфейс в исходное визуальное состояние, когда редактирование завершается. В обоих случаях важно также убедиться, что вы вызываете метод super, чтобы ячейка выполняла все свои обязанности при входе или выходе из режима редактирования.
После того, как ячейка перешла в состояние редактирования, следующим вопросом, который вас, вероятно, интересует, является то, как подтвердить или отменить выполняемое редактирование. Это ваша ответственность как поставщика фабрики ячеек. Ваша реализация ячейки будет знать, когда редактирование завершено, исходя из ввода пользователя (например, когда пользователь нажимает клавиши 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) для добавления EDIT_COMMIT_EVENT EventType со своим желаемым EventHandler в качестве второго аргумента. Используя этот метод, вы не замените реализацию по умолчанию, но получите уведомление о произошедшем подтверждении редактирования.
Надеемся, этот обзор ответит на некоторые часто задаваемые вопросы. К счастью, JavaFX поставляется с рядом предварительно созданных фабрик ячеек, которые обрабатывают все требования к редактированию от вашего имени. Вы можете найти эти предварительно созданные фабрики ячеек в пакете javafx.scene.control.cell.
С:
JavaFX 2.0
См. также:
-
Краткое описание свойств
Все методыМетоды экземпляраКонкретные методы Тип Свойство и описание ObjectProperty<Callback<ListView<T>,ListCell<T>>>cellFactoryУстановка пользовательской фабрики ячеек приводит к отложению создания всех ячеек, что позволяет полностью настроить ячейку.BooleanPropertyeditableУказывает, является ли этот ListView редактируемым — только если ListView и ListCells внутри него являются редактируемыми, ListCell сможет перейти в состояние редактирования.ReadOnlyIntegerPropertyeditingIndexСвойство, используемое для представления индекса элемента, который в данный момент редактируется в ListView, если редактирование происходит, или -1, если ни один элемент не редактируется.DoublePropertyfixedCellSizeУказывает, имеют ли ячейки этого элемента фиксированную высоту (указанного значения).ObjectProperty<FocusModel<T>>focusModelFocusModel предоставляет 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Этот узел отображается пользователю, когда в ListView нет данных для отображения.ObjectProperty<MultipleSelectionModel<T>>selectionModelSelectionModel предоставляет 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, visible
-
-
Краткое описание вложенных классов
Вложенные классы Модификатор и тип Класс и описание static classListView.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()Установление пользовательской фабрики ячеек приводит к отложению всех операций создания ячеек, что позволяет полностью настроить их.protected Skin<?>createDefaultSkin()Создать новый экземпляр стандартной темы для данного элемента управления.voidedit(int itemIndex)Указывает ListView начать редактирование элемента с заданным индексом, если ListView являетсяeditable.BooleanPropertyeditableProperty()Указывает, является ли этот 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, на котором оно было сгенерировано.ReadOnlyIntegerPropertyeditingIndexProperty()Свойство, используемое для представления индекса элемента, который в данный момент редактируется в ListView, если редактирование происходит, или -1, если ни один элемент не редактируется.static <T> EventType<ListView.EditEvent<T>>editStartEvent()Тип события, используемый для указания на то, что началось событие редактирования в ListView, на котором оно было сгенерировано.DoublePropertyfixedCellSizeProperty()Указывает, имеют ли ячейки этого элемента управления фиксированный размер (указанного значения).ObjectProperty<FocusModel<T>>focusModelProperty()FocusModel предоставляет API, позволяющий получить и установить фокус на одном элементе в ListView.Callback<ListView<T>,ListCell<T>>getCellFactory()Возвращает текущую фабрику ячеек.static List<CssMetaData<? extends Styleable,?>>getClassCssMetaData()List<CssMetaData<? extends Styleable,?>>getControlCssMetaData()intgetEditingIndex()Возвращает индекс элемента, который в данный момент редактируется в ListView, или -1, если ни один элемент не редактируется.doublegetFixedCellSize()Возвращает значение фиксированного размера ячеек.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.OrientationgetOrientation()Возвращает текущую ориентацию ListView, которая определяет, прокручивается ли она вертикально или горизонтально.NodegetPlaceholder()Получает значение свойства placeholder.MultipleSelectionModel<T>getSelectionModel()Возвращает текущую установленную модель выбора.booleanisEditable()Получает значение свойства 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 нет данных для отображения.ObjectqueryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)* Обработка доступности * *voidscrollTo(int index)Прокручивает ListView таким образом, что элемент с заданным индексом становится видимым для пользователя.voidscrollTo(T object)Прокручивает TableView так, чтобы данный объект был виден в области просмотра.ObjectProperty<MultipleSelectionModel<T>>selectionModelProperty()SelectionModel предоставляет API, с помощью которого можно выбрать один или несколько элементов в ListView, а также проверить, какие элементы выбраны пользователем.voidsetCellFactory(Callback<ListView<T>,ListCell<T>> value)Устанавливает новую фабрику ячеек для использования в ListView.voidsetEditable(boolean value)Устанавливает значение свойства editable.voidsetFixedCellSize(double value)Устанавливает новый фиксированный размер ячейки для этого элемента управления.voidsetFocusModel(FocusModel<T> value)УстанавливаетFocusModelдля использования в ListView.voidsetItems(ObservableList<T> value)Устанавливает базу данных ListView для отображения данных.voidsetOnEditCancel(EventHandler<ListView.EditEvent<T>> value)УстанавливаетEventHandler, который будет вызван при отмене редактирования пользователем.voidsetOnEditCommit(EventHandler<ListView.EditEvent<T>> value)УстанавливаетEventHandler, который будет вызван при завершении редактирования пользователем.voidsetOnEditStart(EventHandler<ListView.EditEvent<T>> value)УстанавливаетEventHandler, который будет вызван при начале редактирования пользователем.voidsetOnScrollTo(EventHandler<ScrollToEvent<Integer>> value)Устанавливает значение свойства onScrollTo.voidsetOrientation(Orientation value)Устанавливает ориентацию ListView, которая определяет, прокручивается ли она вертикально или горизонтально.voidsetPlaceholder(Node value)Устанавливает значение свойства placeholder.voidsetSelectionModel(MultipleSelectionModel<T> value)УстанавливаетMultipleSelectionModelдля использования в ListView.-
Методы, унаследованные от класса javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getContextMenu, getCssMetaData, getSkin, getTooltip, isResizable, layoutChildren, 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
-
-
Подробное описание свойств
-
items
public final ObjectProperty<ObservableList<T>> itemsProperty
Базовая модель данных для ListView. Обратите внимание, что она имеет обобщённый тип, который должен соответствовать типу самого ListView.
-
placeholder
public final ObjectProperty<Node> placeholderProperty
Этот узел отображается пользователю, когда в списке нет отображаемых данных. Это может быть связано с тем, что у модели таблицы нет данных или что к модели списка применено фильтрование, в результате чего пользователю ничего не отображается..С момента:
JavaFX 8.0
См. также:
-
selectionModel
public final ObjectProperty<MultipleSelectionModel<T>> selectionModelProperty
SelectionModel предоставляет API, позволяющее выбирать один или несколько элементов в ListView, а также проверять, какие элементы были выбраны пользователем. Обратите внимание, что он имеет обобщённый тип, который должен соответствовать типу самого ListView.
-
focusModel
public final ObjectProperty<FocusModel<T>> focusModelProperty
FocusModel предоставляет API, позволяющий получить и установить фокус на одиночном элементе в ListView. Обратите внимание, что он имеет обобщённый тип, который должен соответствовать типу самого ListView.См. также:
-
orientation
public final ObjectProperty<Orientation> orientationProperty
НаправлениеListView- может быть горизонтальным или вертикальным.См. также:
-
cellFactory
public final ObjectProperty<Callback<ListView<T>,ListCell<T>>> cellFactoryProperty
Установка пользовательской фабрики ячеек откладывает создание всех ячеек, позволяя полностью настроить ячейку. Внутренне ListView отвечает за повторное использование ListCells — всё, что нужно, это чтобы пользовательская фабрика ячеек возвращала из этой функции ListCell, который можно использовать для представления любого элемента в ListView.
Для получения дополнительных сведений обратитесь к документации класса
Cell.См. также:
-
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
Указывает, является ли этот ListView редактируемым — только если ListView и ListCells внутри него являются редактируемыми, ListCell сможет перейти в режим редактирования.См. также:
-
editingIndex
public final ReadOnlyIntegerProperty editingIndexProperty
Свойство, используемое для представления индекса элемента, который в данный момент редактируется в ListView, если редактирование происходит, или -1, если ни один элемент не редактируется.
Установить индекс редактирования нельзя; вместо этого необходимо вызвать
edit(int).См. также:
-
onEditStart
public final ObjectProperty<EventHandler<ListView.EditEvent<T>>> onEditStartProperty
Этот обработчик событий будет вызван, когда пользователь успешно начнёт редактирование.См. также:
-
onEditCommit
public final ObjectProperty<EventHandler<ListView.EditEvent<T>>> onEditCommitProperty
Это свойство используется, когда пользователь выполняет действие, которое должно привести к сохранению его ввода при редактировании.
Обработчик событий в этом свойстве не должен вызываться напрямую — вместо этого необходимо вызвать
ListCell.commitEdit(java.lang.Object)из вашей пользовательской ListCell. Это обработает срабатывание этого события, обновит представление и выйдет из состояния редактирования.См. также:
-
onEditCancel
public final ObjectProperty<EventHandler<ListView.EditEvent<T>>> onEditCancelProperty
Этот обработчик событий будет вызван, когда пользователь отменяет редактирование ячейки.См. также:
-
onScrollTo
public ObjectProperty<EventHandler<ScrollToEvent<Integer>>> onScrollToProperty
Вызывается, когда есть запрос на прокрутку индекса в видимую область с помощьюscrollTo(int)илиscrollTo(Object)С момента:
JavaFX 8.0
См. также:
-
-
Подробное описание конструкторов
-
ListView
public ListView()
Создаёт ListView по умолчанию, который будет отображать содержимое, выстроенное вертикально. Так как в этом конструкторе не указанObservableList, создаётся пустой ObservableList, что означает, что можно напрямую вызватьgetItems(), если это необходимо. Однако, как указано ранее, это не рекомендуемый подход (вместо этого используйтеsetItems(javafx.collections.ObservableList)).Для получения подробной информации о состоянии других свойств обратитесь к документации класса
ListView.
-
ListView
public ListView(ObservableList<T> items)
Создаёт ListView по умолчанию, который будет выстраивать содержимое, полученное из предоставленногоObservableList, вертикально.Пытается добавить слушатель к
ObservableList, чтобы все последующие изменения в списке отображались пользователю.Для получения подробной информации о состоянии других свойств обратитесь к документации класса
ListView.
-
-
Метод Detail
-
editAnyEvent
public static <T> EventType<ListView.EditEvent<T>> editAnyEvent()
Тип события EventType, указывающий на то, что произошло какое-то событие редактирования. Это родительский тип всех других событий редактирования:EDIT_START_EVENT,EDIT_COMMIT_EVENTиEDIT_CANCEL_EVENT.
-
editStartEvent
public static <T> EventType<ListView.EditEvent<T>> editStartEvent()
Тип события EventType, используемый для указания того, что событие редактирования началось в ListView, для которого было сгенерировано событие.
-
editCancelEvent
public static <T> EventType<ListView.EditEvent<T>> editCancelEvent()
Тип события EventType, используемый для указания того, что событие редактирования было отменено в ListView, для которого было сгенерировано событие.
-
editCommitEvent
public static <T> EventType<ListView.EditEvent<T>> editCommitEvent()
Тип события EventType, используемый для указания того, что событие редактирования было завершено в ListView, для которого было сгенерировано событие.
-
setItems
public final void setItems(ObservableList<T> value)
Устанавливает базовые данные модели для ListView. Обратите внимание, что у него есть обобщённый тип, который должен совпадать с типом самого ListView.
-
getItems
public final ObservableList<T> getItems()
ВозвращаетObservableList, содержащий элементы, которые в данный момент отображаются пользователю. Может быть null, если ранее был вызванsetItems(javafx.collections.ObservableList), но по умолчанию это пустой ObservableList.Возвращает:
ObservableList, содержащий элементы, которые должны быть показаны пользователю, или null, если элементы были ранее установлены в null.
-
itemsProperty
public final ObjectProperty<ObservableList<T>> itemsProperty()
Базовая модель данных для ListView. Обратите внимание, что у него есть обобщённый тип, который должен совпадать с типом самого ListView.
-
placeholderProperty
public final ObjectProperty<Node> placeholderProperty()
Этот узел отображается пользователю, когда в ListView нет содержимого для отображения. Это может быть в том случае, когда в модели таблицы нет данных или к модели списка применено фильтрование, что привело к отсутствию данных для отображения пользователю.С:
JavaFX 8.0
См. также:
-
setPlaceholder
public final void setPlaceholder(Node value)
Устанавливает значение свойства placeholder.Описание свойства:
Этот узел отображается пользователю, когда в ListView нет содержимого для отображения. Это может быть в том случае, когда в модели таблицы нет данных или к модели списка применено фильтрование, что привело к отсутствию данных для отображения пользователю.
С:
JavaFX 8.0
-
getPlaceholder
public final Node getPlaceholder()
Получает значение свойства placeholder.Описание свойства:
Этот узел отображается пользователю, когда в ListView нет содержимого для отображения. Это может быть в том случае, когда в модели таблицы нет данных или к модели списка применено фильтрование, что привело к отсутствию данных для отображения пользователю.
С:
JavaFX 8.0
-
setSelectionModel
public final void setSelectionModel(MultipleSelectionModel<T> value)
УстанавливаетMultipleSelectionModelдля использования в ListView. Несмотря на то, что ListView требует MultipleSelectionModel, можно настроить его так, чтобы разрешать только одиночный выбор (см.MultipleSelectionModel.setSelectionMode(javafx.scene.control.SelectionMode)для получения дополнительной информации).
-
getSelectionModel
public final MultipleSelectionModel<T> getSelectionModel()
Возвращает текущую установленную модель выбора.
-
selectionModelProperty
public final ObjectProperty<MultipleSelectionModel<T>> selectionModelProperty()
SelectionModel предоставляет API, позволяющее выбрать один или несколько элементов в ListView, а также проверить, какие элементы были выбраны пользователем. Обратите внимание, что у него есть обобщённый тип, который должен совпадать с типом самого ListView.
-
setFocusModel
public final void setFocusModel(FocusModel<T> value)
УстанавливаетFocusModelдля использования в ListView.
-
getFocusModel
public final FocusModel<T> getFocusModel()
Возвращает текущую установленнуюFocusModel.
-
focusModelProperty
public final ObjectProperty<FocusModel<T>> focusModelProperty()
FocusModel предоставляет API, позволяющее получить и установить фокус на один элемент в ListView. Обратите внимание, что у него есть обобщённый тип, который должен совпадать с типом самого ListView.См. также:
-
setOrientation
public final void setOrientation(Orientation value)
Устанавливает ориентацию ListView, определяющую, прокручивается ли он вертикально или горизонтально.
-
getOrientation
public final Orientation getOrientation()
Возвращает текущую ориентацию ListView, определяющую, прокручивается ли он вертикально или горизонтально.
-
orientationProperty
public final ObjectProperty<Orientation> orientationProperty()
ОриентацияListView- может быть горизонтальной или вертикальной.См. также:
-
setCellFactory
public final void setCellFactory(Callback<ListView<T>,ListCell<T>> value)
Устанавливает новый фабричный метод создания ячеек для использования в ListView. Это заставляет все старыеListCellбыть удалены, и создаются новые ListCell с новой фабрикой ячеек.
-
getCellFactory
public final Callback<ListView<T>,ListCell<T>> getCellFactory()
Возвращает текущую фабрику ячеек.
-
cellFactoryProperty
public final ObjectProperty<Callback<ListView<T>,ListCell<T>>> cellFactoryProperty()
Установка пользовательской фабрики ячеек приводит к отложению всего создания ячеек, что позволяет полностью настроить ячейку. Внутренне ListView отвечает за повторное использование ListCells - всё, что необходимо, это чтобы пользовательская фабрика ячеек возвращала из этой функции ListCell, которая может быть использована для представления любого элемента в ListView.
См. документацию класса
Cellдля получения дополнительной информации.См. также:
-
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.Описание свойства:
Указывает, редактируется ли этот ListView - только если ListView и ListCells внутри него редактируемы, ListCell сможет перейти в состояние редактирования.
-
isEditable
public final boolean isEditable()
Получает значение свойства editable.Описание свойства:
Указывает, редактируется ли этот ListView - только если ListView и ListCells внутри него редактируемы, ListCell сможет перейти в состояние редактирования.
-
editableProperty
public final BooleanProperty editableProperty()
Указывает, редактируется ли этот ListView - только если ListView и ListCells внутри него редактируемы, ListCell сможет перейти в состояние редактирования.См. также:
-
getEditingIndex
public final int getEditingIndex()
Возвращает индекс элемента, который в данный момент редактируется в ListView, или -1, если ни один элемент не редактируется.
-
-
editingIndexProperty
public final ReadOnlyIntegerProperty editingIndexProperty()
Свойство, используемое для представления индекса элемента, который в данный момент редактируется в ListView, если редактирование происходит, или -1, если ни один элемент не редактируется.
Установить индекс редактирования невозможно, вместо этого необходимо вызвать
edit(int).См. также:
-
setOnEditStart
public final void setOnEditStart(EventHandler<ListView.EditEvent<T>> value)
УстанавливаетEventHandler, который будет вызван, когда пользователь начнёт редактирование.Это удобный метод; тот же результат можно получить, вызвав
addEventHandler(ListView.EDIT_START_EVENT, eventHandler).
-
getOnEditStart
public final EventHandler<ListView.EditEvent<T>> getOnEditStart()
ВозвращаетEventHandler, который будет вызван, когда пользователь начнёт редактирование.
-
onEditStartProperty
public final ObjectProperty<EventHandler<ListView.EditEvent<T>>> onEditStartProperty()
Этот обработчик событий будет вызван, когда пользователь успешно инициирует редактирование.См. также:
-
setOnEditCommit
public final void setOnEditCommit(EventHandler<ListView.EditEvent<T>> value)
УстанавливаетEventHandler, который будет вызван, когда пользователь завершит редактирование. Вызывается как часть методаListCell.commitEdit(java.lang.Object).Это удобный метод; тот же результат можно получить, вызвав
addEventHandler(ListView.EDIT_START_EVENT, eventHandler).
-
getOnEditCommit
public final EventHandler<ListView.EditEvent<T>> getOnEditCommit()
ВозвращаетEventHandler, который будет вызван, когда пользователь подтвердит изменения.
-
onEditCommitProperty
public final ObjectProperty<EventHandler<ListView.EditEvent<T>>> onEditCommitProperty()
Это свойство используется, когда пользователь выполняет действие, которое должно привести к сохранению его ввода.
Обработчик событий в этом свойстве не должен вызываться напрямую; вместо этого вызовите
ListCell.commitEdit(java.lang.Object)изнутри вашего пользовательского ListCell. Это обработает срабатывание события, обновление представления и выход из состояния редактирования.См. также:
-
setOnEditCancel
public final void setOnEditCancel(EventHandler<ListView.EditEvent<T>> value)
УстанавливаетEventHandler, который будет вызван, когда пользователь отменит редактирование.
-
getOnEditCancel
public final EventHandler<ListView.EditEvent<T>> getOnEditCancel()
ВозвращаетEventHandler, который будет вызван, когда пользователь отменит редактирование.
-
onEditCancelProperty
public final ObjectProperty<EventHandler<ListView.EditEvent<T>>> onEditCancelProperty()
Этот обработчик событий будет вызван, когда пользователь отменяет редактирование ячейки.См. также:
-
edit
public void edit(int itemIndex)
Инструктирует ListView начать редактирование элемента с заданным индексом, если ListView являетсяeditable. После вызова этого метода, если текущийcellFactoryProperty()настроен для поддержки редактирования, ячейка изменит своё визуальное состояние, чтобы позволить пользователю ввести данные.Параметры:
itemIndex— индекс элемента в ListView, который должен быть отредактирован.
-
scrollTo
public void scrollTo(int index)
Прокручивает ListView так, чтобы элемент с заданным индексом был виден пользователю.Параметры:
index— индекс, который должен быть виден пользователю, предполагая, что он больше или равен 0 и меньше размера списка элементов, содержащихся в данном ListView.
-
scrollTo
public void scrollTo(T object)
Прокручивает TableView так, чтобы заданный объект был виден в области просмотра.Параметры:
object— объект, который должен быть виден пользователю.С тех пор:
JavaFX 8.0
-
setOnScrollTo
public void setOnScrollTo(EventHandler<ScrollToEvent<Integer>> value)
Устанавливает значение свойства onScrollTo.Описание свойства:
Вызывается при запросе прокрутки индекса в область видимости с помощью
scrollTo(int)илиscrollTo(Object)С тех пор:
JavaFX 8.0
-
getOnScrollTo
public EventHandler<ScrollToEvent<Integer>> getOnScrollTo()
Получает значение свойства onScrollTo.Описание свойства:
Вызывается при запросе прокрутки индекса в область видимости с помощью
scrollTo(int)илиscrollTo(Object)С тех пор:
JavaFX 8.0
-
onScrollToProperty
public ObjectProperty<EventHandler<ScrollToEvent<Integer>>> onScrollToProperty()
Вызывается при запросе прокрутки индекса в область видимости с помощьюscrollTo(int)илиscrollTo(Object)С тех пор:
JavaFX 8.0
См. также:
-
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.