Класс TextFieldListCell<T>
- Type Parameters:
-
T- Тип элементов, содержащихся в ListView.
- All Implemented Interfaces:
-
Styleable,EventTarget,Skinnable
public class TextFieldListCell<T> extends ListCell<T>
ListCell, которая отображает узел TextField внутри ячейки. По умолчанию, TextFieldListCell отображается как Label при отсутствии редактирования и как TextField при редактировании. TextField по умолчанию растягивается, чтобы заполнить всю ячейку списка.
- Since:
- JavaFX 2.2
Краткое описание свойств
| Тип | Свойство | Описание |
|---|---|---|
final ObjectProperty<StringConverter<T>> |
converter |
Свойство StringConverter. |
Свойства, объявленные в классе javafx.scene.control.IndexedCell
index
Свойства, объявленные в классе javafx.scene.control.Labeled
alignment, contentDisplay, ellipsisString, font, graphic, graphicTextGap, labelPadding, lineSpacing, mnemonicParsing, textAlignment, textFill, textOverrun, text, underline, wrapText
Свойства, объявленные в классе 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, focusVisible, focusWithin, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, viewOrder, visible
Краткое описание полей
Поля, объявленные в классе javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZE
Поля, объявленные в классе javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
TextFieldListCell() |
Создает TextFieldListCell по умолчанию с нулевым преобразователем. |
TextFieldListCell |
Создает TextFieldListCell, который предоставляет TextField при переходе в режим редактирования, что позволяет редактировать содержимое ячейки. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final ObjectProperty<StringConverter<T>> |
converterProperty() |
Свойство StringConverter. |
static Callback<ListView<String>, |
forListView() |
Предоставляет TextField, который позволяет редактировать содержимое ячейки при двойном щелчке по ячейке или при вызове ListView.edit(int). |
static <T> Callback<ListView<T>, |
forListView |
Предоставляет TextField, который позволяет редактировать содержимое ячейки при двойном щелчке по ячейке или при вызове ListView.edit(int). |
final StringConverter<T> |
getConverter() |
Возвращает используемый StringConverter в этой ячейке. |
final void |
setConverter |
Устанавливает StringConverter, который будет использоваться в этой ячейке. |
void |
updateItem |
Метод updateItem не должен вызываться разработчиками, но он является лучшим методом для переопределения разработчиками, чтобы позволить им настроить визуальное отображение ячейки. |
Методы, объявленные в классе javafx.scene.control.ListCell
getListView, listViewProperty, updateListView
Методы, объявленные в классе javafx.scene.control.IndexedCell
getIndex, indexProperty, updateIndex
Методы, объявленные в классе javafx.scene.control.Cell
cancelEdit, commitEdit, editableProperty, editingProperty, emptyProperty, getInitialFocusTraversable, getItem, isEditable, isEditing, isEmpty, isItemChanged, isSelected, itemProperty, selectedProperty, setEditable, setItem, startEdit, updateSelected
Методы, объявленные в классе javafx.scene.control.Labeled
alignmentProperty, contentDisplayProperty, ellipsisStringProperty, fontProperty, getAlignment, getClassCssMetaData, getContentBias, getContentDisplay, getControlCssMetaData, getEllipsisString, getFont, getGraphic, getGraphicTextGap, getInitialAlignment, getLabelPadding, getLineSpacing, getText, getTextAlignment, getTextFill, getTextOverrun, graphicProperty, graphicTextGapProperty, isMnemonicParsing, isUnderline, isWrapText, labelPaddingProperty, lineSpacingProperty, mnemonicParsingProperty, setAlignment, setContentDisplay, setEllipsisString, setFont, setGraphic, setGraphicTextGap, setLineSpacing, setMnemonicParsing, setText, setTextAlignment, setTextFill, setTextOverrun, setUnderline, setWrapText, textAlignmentProperty, textFillProperty, textOverrunProperty, textProperty, underlineProperty, wrapTextProperty
Методы, объявленные в классе javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, contextMenuProperty, createDefaultSkin, getContextMenu, getCssMetaData, getSkin, getTooltip, isResizable, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty
Методы, объявленные в классе javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computePrefHeight, computePrefWidth, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty
Методы, объявленные в классе javafx.scene.Parent
getBaselineOffset, getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, layoutChildren, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
Методы, объявленные в классе javafx.scene.Node
accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, focusVisibleProperty, focusWithinProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isFocusVisible, isFocusWithin, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookup, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, queryAccessibleAttribute, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе javafx.css.Styleable
getStyleableNode
Подробности свойства
converter
public final ObjectProperty<StringConverter<T>> converterProperty
StringConverter.Подробности конструктора
TextFieldListCell
public TextFieldListCell()
StringConverter эта ячейка не сможет принимать входные данные от TextField (так как не будет знать, как преобразовать их обратно в объект домена). Поэтому настоятельно рекомендуется не использовать этот конструктор, если вы не планируете отдельно установить конвертер.TextFieldListCell
public TextFieldListCell(StringConverter<T> converter)
TextField при переходе в режим редактирования, что позволяет редактировать содержимое ячейки. Этот метод будет работать с любым экземпляром ListView, независимо от его обобщённого типа. Однако для этого необходимо предоставить StringConverter, который будет преобразовывать заданную строку (из того, что ввёл пользователь) в экземпляр типа T. Этот элемент затем будет передан в обратный вызов ListView.onEditCommitProperty().- Параметры:
-
converter-converter, который может преобразовать заданную строку (из того, что ввёл пользователь) в экземпляр типа T.
Подробности метода
forListView
public static Callback<ListView<String>,ListCell<String>> forListView()
TextField, который позволяет редактировать содержимое ячейки при двойном щелчке по ней или при вызове ListView.edit(int). Этот метод будет работать только с экземплярами ListView типа String.- Возвращает:
Callback, который можно вставить вcell factory propertyListView, что позволяет редактировать содержимое текстовым способом.
forListView
public static <T> Callback<ListView<T>,ListCell<T>> forListView(StringConverter<T> converter)
TextField, который позволяет редактировать содержимое ячейки при двойном щелчке по ней или при вызове ListView.edit(int). Этот метод будет работать с любым экземпляром ListView, независимо от его обобщённого типа. Однако для этого необходимо предоставить StringConverter, который будет преобразовывать заданную строку (из того, что ввёл пользователь) в экземпляр типа T. Этот элемент затем будет передан в обратный вызов ListView.onEditCommitProperty().- Типы параметров:
-
T- тип элемента, содержащегося в ячейке - Параметры:
-
converter-StringConverter, который может преобразовать заданную строку (из того, что ввёл пользователь) в экземпляр типа T. - Возвращает:
Callback, который можно вставить вcell factory propertyListView, что позволяет редактировать содержимое текстовым способом.
converterProperty
public final ObjectProperty<StringConverter<T>> converterProperty()
StringConverter.- Возвращает:
- свойство
StringConverter - См. также:
setConverter
public final void setConverter(StringConverter<T> value)
StringConverter для использования в этой ячейке.- Параметры:
-
value-StringConverterдля использования в этой ячейке
getConverter
public final StringConverter<T> getConverter()
StringConverter, используемый в этой ячейке.- Возвращает:
StringConverter, используемый в этой ячейке
updateItem
public void updateItem(T item, boolean empty)
ListView), чтобы вызвать этот метод. Однако цель метода updateItem заключается в том, чтобы разработчики при указании пользовательских фабрик ячеек (снова, таких как ListView cell factory) могли переопределить метод updateItem, чтобы позволить полную настройку ячейки. Очень важно, чтобы подклассы Cell надлежащим образом переопределяли метод updateItem, поскольку в противном случае это приведёт к проблемам, таким как пустые ячейки или ячейки с неожиданным содержанием, появляющимся в них. Вот пример того, как правильно переопределить метод updateItem:
protected void updateItem(T item, boolean empty) {
super.updateItem(item, empty);
if (empty || item == null) {
setText(null);
setGraphic(null);
} else {
setText(item.toString());
}
}
Обратите внимание на два важных момента в этом примере кода:
- Мы вызываем метод super.updateItem(T, boolean). Если этого не сделать, свойства item и empty не будут правильно установлены, и у вас, скорее всего, возникнут графические проблемы.
- Мы проверяем условие
emptyи, если оно выполняется, устанавливаем свойства text и graphic в null. Если мы этого не сделаем, практически гарантировано, что конечные пользователи увидят графические артефакты в ячейках неожиданным образом.
- Переопределяет:
-
updateItemв классеCell<T> - Параметры:
-
item- новый элемент для ячейки. -
empty- указывает, представляет ли эта ячейка данные из списка. Если она пустая, то она не представляет данные домена, а используется для отображения пустой строки.
© 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.