Spec-Zone.ru › OpenJavaFX 8
javafx.scene.control

Класс ListView<T>

java.lang.Object
  • 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.

Все реализованные интерфейсы:

Styleable, EventTarget, Skinnable



@DefaultProperty(value="items")
public class ListView<T>
extends Control
ListView отображает горизонтальный или вертикальный список элементов, из которого пользователь может выбирать или с которым может взаимодействовать. ListView может иметь свой тип дженериков, представляющий тип данных в базовой модели. Это обеспечивает безопасность типов для различных методов в ListView, а также для поддерживающих классов (упомянутых ниже). Кроме того, использование дженериков значительно упрощает разработку приложений, использующих ListView, поскольку все современные IDE могут значительно эффективнее выполнять автодополнение с дополнительной информацией о типе.

Заполнение 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

См. также:

ListCell, MultipleSelectionModel, FocusModel

  • Краткое описание свойств

    Все методыМетоды экземпляраКонкретные методы
    Тип Свойство и описание
    ObjectProperty<Callback<ListView<T>,ListCell<T>>> cellFactory
    Установка пользовательской фабрики ячеек приводит к отложению создания всех ячеек, что позволяет полностью настроить ячейку.
    BooleanProperty editable
    Указывает, является ли этот ListView редактируемым — только если ListView и ListCells внутри него являются редактируемыми, ListCell сможет перейти в состояние редактирования.
    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
    Этот узел отображается пользователю, когда в ListView нет данных для отображения.
    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, 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()
    Установление пользовательской фабрики ячеек приводит к отложению всех операций создания ячеек, что позволяет полностью настроить их.
    protected Skin<?> createDefaultSkin()
    Создать новый экземпляр стандартной темы для данного элемента управления.
    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 нет данных для отображения.
    Object queryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)
    * Обработка доступности * *
    void scrollTo(int index)
    Прокручивает ListView таким образом, что элемент с заданным индексом становится видимым для пользователя.
    void scrollTo(T object)
    Прокручивает TableView так, чтобы данный объект был виден в области просмотра.
    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, 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
    • Методы, унаследованные от класса java.lang.Object

      clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Подробное описание свойств

    • items

      public final ObjectProperty<ObservableList<T>> itemsProperty
      Базовая модель данных для ListView. Обратите внимание, что она имеет обобщённый тип, который должен соответствовать типу самого ListView.
    • placeholder

      public final ObjectProperty<Node> placeholderProperty
      Этот узел отображается пользователю, когда в списке нет отображаемых данных. Это может быть связано с тем, что у модели таблицы нет данных или что к модели списка применено фильтрование, в результате чего пользователю ничего не отображается..

      С момента:

      JavaFX 8.0

      См. также:

      getPlaceholder(), setPlaceholder(Node)

    • selectionModel

      public final ObjectProperty<MultipleSelectionModel<T>> selectionModelProperty
      SelectionModel предоставляет API, позволяющее выбирать один или несколько элементов в ListView, а также проверять, какие элементы были выбраны пользователем. Обратите внимание, что он имеет обобщённый тип, который должен соответствовать типу самого ListView.

      См. также:

      getSelectionModel(), setSelectionModel(MultipleSelectionModel)

    • focusModel

      public final ObjectProperty<FocusModel<T>> focusModelProperty
      FocusModel предоставляет API, позволяющий получить и установить фокус на одиночном элементе в ListView. Обратите внимание, что он имеет обобщённый тип, который должен соответствовать типу самого ListView.

      См. также:

      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
      Указывает, имеет ли этот элемент ячейки с фиксированной высотой (указанного значения). Если это значение меньше или равно нулю, все ячейки имеют индивидуально заданные размеры и положение. Это медленная операция. Поэтому, когда важна производительность, и разработчики не зависят от переменных размеров ячеек, рекомендуется установить значение фиксированного размера ячейки. Обычно ячейки имеют размер около 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

      См. также:

      getFixedCellSize(), setFixedCellSize(double)

    • editable

      public final BooleanProperty editableProperty
      Указывает, является ли этот ListView редактируемым — только если ListView и ListCells внутри него являются редактируемыми, ListCell сможет перейти в режим редактирования.

      См. также:

      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

      Это свойство используется, когда пользователь выполняет действие, которое должно привести к сохранению его ввода при редактировании.

      Обработчик событий в этом свойстве не должен вызываться напрямую — вместо этого необходимо вызвать ListCell.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()
      Создаёт 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

      См. также:

      getPlaceholder(), setPlaceholder(Node)

    • 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.

      См. также:

      getSelectionModel(), setSelectionModel(MultipleSelectionModel)

    • 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.

      См. также:

      getFocusModel(), setFocusModel(FocusModel)

    • setOrientation

      public final void setOrientation(Orientation value)
      Устанавливает ориентацию ListView, определяющую, прокручивается ли он вертикально или горизонтально.
    • getOrientation

      public final Orientation getOrientation()
      Возвращает текущую ориентацию ListView, определяющую, прокручивается ли он вертикально или горизонтально.
    • orientationProperty

      public final ObjectProperty<Orientation> orientationProperty()
      Ориентация ListView - может быть горизонтальной или вертикальной.

      См. также:

      getOrientation(), setOrientation(Orientation)

    • 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 для получения дополнительной информации.

      См. также:

      getCellFactory(), setCellFactory(Callback)

    • 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

      См. также:

      getFixedCellSize(), setFixedCellSize(double)

    • 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 сможет перейти в состояние редактирования.

      См. также:

      isEditable(), setEditable(boolean)

    • getEditingIndex

      public final int getEditingIndex()
      Возвращает индекс элемента, который в данный момент редактируется в ListView, или -1, если ни один элемент не редактируется.
    • editingIndexProperty

      public final ReadOnlyIntegerProperty editingIndexProperty()

      Свойство, используемое для представления индекса элемента, который в данный момент редактируется в ListView, если редактирование происходит, или -1, если ни один элемент не редактируется.

      Установить индекс редактирования невозможно, вместо этого необходимо вызвать edit(int).

      См. также:

      getEditingIndex()

    • 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()
      Этот обработчик событий будет вызван, когда пользователь успешно инициирует редактирование.

      См. также:

      getOnEditStart(), setOnEditStart(EventHandler)

    • 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. Это обработает срабатывание события, обновление представления и выход из состояния редактирования.

      См. также:

      getOnEditCommit(), setOnEditCommit(EventHandler)

    • 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()
      Этот обработчик событий будет вызван, когда пользователь отменяет редактирование ячейки.

      См. также:

      getOnEditCancel(), setOnEditCancel(EventHandler)

    • 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

      См. также:

      getOnScrollTo(), setOnScrollTo(EventHandler)

    • 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 — запрашиваемое свойство

      Возвращает:

      значение для запрашиваемого свойства

      См. также:

      AccessibleAttribute

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API