Class AcceptOnExitTableCell<S,T>

java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.control.Control
javafx.scene.control.Labeled
javafx.scene.control.Cell<T>
javafx.scene.control.IndexedCell<T>
javafx.scene.control.TableCell<S,T>
pamViewFX.fxNodes.table.AcceptOnExitTableCell<S,T>
All Implemented Interfaces:
javafx.css.Styleable, javafx.event.EventTarget, javafx.scene.control.Skinnable
Direct Known Subclasses:
ChoiceTable.ErrNumberFieldCell, ChoiceTable.ErrTextFieldCell

public class AcceptOnExitTableCell<S,T> extends javafx.scene.control.TableCell<S,T>
A class containing a TableCell implementation that draws a TextField node inside the cell. If the TextField is left, the value is commited. From https://stackoverflow.com/questions/23632884/how-to-commit-when-clicking-outside-an-editable-tableview-cell-in-javafx
  • Property Summary

    Properties
    Type
    Property
    Description
    final javafx.beans.property.ObjectProperty<javafx.util.StringConverter<T>>
    The StringConverter property.

    Properties inherited from class javafx.scene.control.TableCell

    tableColumn, tableRow, tableView

    Properties inherited from class javafx.scene.control.IndexedCell

    index

    Properties inherited from class javafx.scene.control.Cell

    editable, editing, empty, item, selected

    Properties inherited from class javafx.scene.control.Labeled

    alignment, contentDisplay, ellipsisString, font, graphic, graphicTextGap, labelPadding, lineSpacing, mnemonicParsing, textAlignment, textFill, textOverrun, text, underline, wrapText

    Properties inherited from class javafx.scene.control.Control

    contextMenu, skin, tooltip

    Properties inherited from class javafx.scene.layout.Region

    background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width

    Properties inherited from class javafx.scene.Parent

    needsLayout

    Properties inherited from class 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
  • Field Summary

    Fields inherited from class javafx.scene.layout.Region

    USE_COMPUTED_SIZE, USE_PREF_SIZE

    Fields inherited from class javafx.scene.Node

    BASELINE_OFFSET_SAME_AS_HEIGHT
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a default TextFieldTableCell with a null converter.
    AcceptOnExitTableCell(javafx.util.StringConverter<T> converter)
    Creates a TextFieldTableCell that provides a TextField when put into editing mode that allows editing of the cell content.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    void
    commitEdit(T newValue)
    final javafx.beans.property.ObjectProperty<javafx.util.StringConverter<T>>
    The StringConverter property.
    static <S> javafx.util.Callback<javafx.scene.control.TableColumn<S,String>,javafx.scene.control.TableCell<S,String>>
    Provides a TextField that allows editing of the cell content when the cell is double-clicked, or when TableView.edit(int, javafx.scene.control.TableColumn) is called.
    static <S, T> javafx.util.Callback<javafx.scene.control.TableColumn<S,T>,javafx.scene.control.TableCell<S,T>>
    forTableColumn(javafx.util.StringConverter<T> converter)
    Provides a TextField that allows editing of the cell content when the cell is double-clicked, or when TableView.edit(int, javafx.scene.control.TableColumn) is called.
    javafx.scene.control.TextField
    Get the textfield within thew cell.
    final javafx.util.StringConverter<T>
    Returns the StringConverter used in this cell.
    boolean
     
    final void
    setConverter(javafx.util.StringConverter<T> value)
    Sets the StringConverter to be used in this cell.
    void
    void
    updateItem(T item, boolean empty)

    Methods inherited from class javafx.scene.control.TableCell

    executeAccessibleAction, getTableColumn, getTableRow, getTableView, queryAccessibleAttribute, tableColumnProperty, tableRowProperty, tableViewProperty, updateSelected, updateTableColumn, updateTableRow, updateTableView

    Methods inherited from class javafx.scene.control.IndexedCell

    getIndex, indexProperty, updateIndex

    Methods inherited from class javafx.scene.control.Cell

    editableProperty, editingProperty, emptyProperty, getItem, isEditable, isEditing, isEmpty, isSelected, itemProperty, selectedProperty, setEditable, setItem

    Methods inherited from class javafx.scene.control.Labeled

    alignmentProperty, contentDisplayProperty, ellipsisStringProperty, fontProperty, getAlignment, getClassCssMetaData, getContentBias, getContentDisplay, getControlCssMetaData, getEllipsisString, getFont, getGraphic, getGraphicTextGap, 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, toString, underlineProperty, wrapTextProperty

    Methods inherited from class javafx.scene.control.Control

    contextMenuProperty, getBaselineOffset, getContextMenu, getCssMetaData, getSkin, getTooltip, isResizable, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty

    Methods inherited from class 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, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPositionX, snapPositionY, snapSizeX, snapSizeY, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty

    Methods inherited from class javafx.scene.Parent

    getChildrenUnmodifiable, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout

    Methods inherited from class 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, focusVisibleProperty, focusWithinProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, 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, 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, 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, setEffect, setEventDispatcher, setFocusTraversable, 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, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface javafx.css.Styleable

    getStyleableNode
  • Property Details

    • converter

      public final javafx.beans.property.ObjectProperty<javafx.util.StringConverter<T>> converterProperty
      The StringConverter property.
      See Also:
  • Constructor Details

    • AcceptOnExitTableCell

      public AcceptOnExitTableCell()
      Creates a default TextFieldTableCell with a null converter. Without a StringConverter specified, this cell will not be able to accept input from the TextField (as it will not know how to convert this back to the domain object). It is therefore strongly encouraged to not use this constructor unless you intend to set the converter separately.
    • AcceptOnExitTableCell

      public AcceptOnExitTableCell(javafx.util.StringConverter<T> converter)
      Creates a TextFieldTableCell that provides a TextField when put into editing mode that allows editing of the cell content. This method will work on any TableColumn instance, regardless of its generic type. However, to enable this, a StringConverter must be provided that will convert the given String (from what the user typed in) into an instance of type T. This item will then be passed along to the TableColumn.onEditCommitProperty() callback.
      Parameters:
      converter - A converter that can convert the given String (from what the user typed in) into an instance of type T.
  • Method Details

    • forTableColumn

      public static <S> javafx.util.Callback<javafx.scene.control.TableColumn<S,String>,javafx.scene.control.TableCell<S,String>> forTableColumn()
      Provides a TextField that allows editing of the cell content when the cell is double-clicked, or when TableView.edit(int, javafx.scene.control.TableColumn) is called. This method will only work on TableColumn instances which are of type String.
      Returns:
      A Callback that can be inserted into the cell factory property of a TableColumn, that enables textual editing of the content.
    • forTableColumn

      public static <S, T> javafx.util.Callback<javafx.scene.control.TableColumn<S,T>,javafx.scene.control.TableCell<S,T>> forTableColumn(javafx.util.StringConverter<T> converter)
      Provides a TextField that allows editing of the cell content when the cell is double-clicked, or when TableView.edit(int, javafx.scene.control.TableColumn) is called. This method will work on any TableColumn instance, regardless of its generic type. However, to enable this, a StringConverter must be provided that will convert the given String (from what the user typed in) into an instance of type T. This item will then be passed along to the TableColumn.onEditCommitProperty() callback.
      Parameters:
      converter - A StringConverter that can convert the given String (from what the user typed in) into an instance of type T.
      Returns:
      A Callback that can be inserted into the cell factory property of a TableColumn, that enables textual editing of the content.
    • converterProperty

      public final javafx.beans.property.ObjectProperty<javafx.util.StringConverter<T>> converterProperty()
      The StringConverter property.
    • setConverter

      public final void setConverter(javafx.util.StringConverter<T> value)
      Sets the StringConverter to be used in this cell.
    • getConverter

      public final javafx.util.StringConverter<T> getConverter()
      Returns the StringConverter used in this cell.
    • startEdit

      public void startEdit()
      Overrides:
      startEdit in class javafx.scene.control.TableCell<S,T>
    • commitEdit

      public void commitEdit(T newValue)
      Overrides:
      commitEdit in class javafx.scene.control.TableCell<S,T>
    • cancelEdit

      public void cancelEdit()
      Overrides:
      cancelEdit in class javafx.scene.control.TableCell<S,T>
    • updateItem

      public void updateItem(T item, boolean empty)
    • getCellTextField

      public javafx.scene.control.TextField getCellTextField()
      Get the textfield within thew cell.
      Returns:
      the cell's text field.
    • getTabButtonPressed

      public boolean getTabButtonPressed()