Class RichTextArea
- All Implemented Interfaces:
Styleable,EventTarget,Skinnable
- Direct Known Subclasses:
CodeArea
The RichTextArea control has a number of features, including:
-
paragraph-oriented model, up to ~2 billion rows - virtualized text cell flow
- support for text styling with an application stylesheet or
inline attributes - support for multiple views connected to the same model
-
single selection -
input mapwhich allows for easy behavior customization and extension
Creating a RichTextArea
The following example creates an editable control with the default RichTextModel:
RichTextArea textArea = new RichTextArea();
The methods
appendText(), insertText(), replaceText(), applyStyle(),
setStyle(), or clear() can be used to modify text programmatically:
// create styles
StyleAttributeMap heading = StyleAttributeMap.builder().setBold(true).setUnderline(true).setFontSize(18).build();
StyleAttributeMap mono = StyleAttributeMap.builder().setFontFamily("Monospaced").build();
RichTextArea textArea = new RichTextArea();
// build the content
textArea.appendText("RichTextArea\n", heading);
textArea.appendText("Example:\nText is ", StyleAttributeMap.EMPTY);
textArea.appendText("monospaced.\n", mono);
Which results in the following visual representation:
A view-only information control requires a different model. The following example illustrates how to create a model that uses a stylesheet for styling:
SimpleViewOnlyStyledModel m = new SimpleViewOnlyStyledModel();
// add text segment using CSS style name (requires a stylesheet)
m.addWithStyleNames("RichTextArea ", "HEADER");
// add text segment using inline styles
m.addWithInlineStyle("Demo", "-fx-font-size:200%; -fx-font-weight:bold;");
// add newline
m.nl();
RichTextArea textArea = new RichTextArea(m);
Text Models
A number of standard models can be used with RichTextArea, each addressing a specific use case:
| Model Class | Description |
|---|---|
| Base class (abstract) |
├─ | Default model for RichTextArea |
├─ | Unstyled text model |
│ └─ | Default model for CodeArea |
└─ | Base class for a view-only model (abstract) |
└─ | In-memory view-only styled model |
Selection
The RichTextArea control maintains a single contiguous selection segment
as a part of the SelectionModel. Additionally,
anchorPositionProperty() and caretPositionProperty() read-only properties
are derived from the selectionProperty() for convenience.
Customizing
The RichTextArea control offers some degree of customization that does not require subclassing:- customizing key bindings with the
InputMap - setting
leftDecoratorandrightDecoratorproperties
- Since:
- 24
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classFunction tags serve as identifiers of methods that can be customized via theInputMap. -
Property Summary
PropertiesTypePropertyDescriptionfinal ReadOnlyProperty<TextPos> Tracks the selection anchor position within the document.final ObjectProperty<Duration> Determines the caret blink period.final ReadOnlyProperty<TextPos> Tracks the caret position within the document.final ObjectProperty<Insets> Specifies the padding for the RichTextArea content.final BooleanPropertyThis property controls whether caret will be displayed or not.final BooleanPropertyIndicates whether this RichTextArea can be edited by the user, provided the model is also writable.final BooleanPropertyIndicates whether the current paragraph will be visually highlighted.final ObjectProperty<SideDecorator> Specifies the left-side paragraph decorator.final ObjectProperty<StyledTextModel> Determines theStyledTextModelto use with this RichTextArea.final ReadOnlyBooleanPropertyThe property describes if it's currently possible to redo the latest change of the content that was undone.final ObjectProperty<SideDecorator> Specifies the right-side paragraph decorator.final ReadOnlyProperty<SelectionSegment> Tracks the current selection.final ReadOnlyBooleanPropertyThe property describes if it's currently possible to undo the latest change of the content that was done.final BooleanPropertyDetermines whether the preferred height is the same as the content height.final BooleanPropertyDetermines whether the preferred width is the same as the content width.final BooleanPropertyIndicates whether text should be wrapped in this RichTextArea.Properties declared in class javafx.scene.control.Control
contextMenu, skin, tooltipProperties declared in class javafx.scene.layout.Region
background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, widthProperties declared in class javafx.scene.Parent
needsLayoutProperties declared in 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
FieldsModifier and TypeFieldDescriptionprotected static final StyleHandlerRegistryThe style handler registry instance, made available for use by subclasses to add support for new style attributes.Fields declared in class javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZEFields declared in class javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT -
Constructor Summary
ConstructorsConstructorDescriptionCreates the instance with the in-memory modelRichTextModel.RichTextArea(StyledTextModel model) Creates the instance using the specified model. -
Method Summary
Modifier and TypeMethodDescriptionfinal ReadOnlyProperty<TextPos> Tracks the selection anchor position within the document.final TextPosappendText(String text) Appends the styled text to the end of the document.final TextPosappendText(String text, StyleAttributeMap attrs) Appends the styled text to the end of the document.final TextPosAppends the styled content to the end of the document.voidapplyStyle(TextPos start, TextPos end, StyleAttributeMap attrs) Applies the specified style to the selected range.voidWhen selection exists, deletes selected text.final ObjectProperty<Duration> Determines the caret blink period.final ReadOnlyProperty<TextPos> Tracks the caret position within the document.final voidclear()Clears the document, creating an undo entry.final voidClears existing selection, if any.final voidClears the undo-redo stack of the underlying model.final ObjectProperty<Insets> Specifies the padding for the RichTextArea content.voidcopy()When selection exists, copies the selected rich text to the clipboard in all the formats supported by the model.final voidcopy(DataFormat format) Copies the selected text in the specified format to the clipboard.protected RichTextAreaSkinCreate a new instance of the default skin for this control.voidcut()Transfers the currently selected text to the clipboard, removing the current selection.voiddelete()When selection exists, deletes selected text.voidWhen selection exists, deletes selected paragraphs.voidDeletes text from the caret position to the start of the paragraph, ignoring existing selection.voidDeletes from the caret positon to the end of next word, ignoring existing selection.voidDeletes from the caret positon to the start of next word, ignoring existing selection.voidDeletes (multiple) empty paragraphs or text from the caret position to the start of the previous word, ignoring existing selection.voiddeselect()Clears the selected text range by moving anchor to the caret position.final BooleanPropertyThis property controls whether caret will be displayed or not.final BooleanPropertyIndicates whether this RichTextArea can be edited by the user, provided the model is also writable.voidProvides audio and/or visual error feedback.final voidexecute(FunctionTag tag) Executes a function mapped to the specified function tag.final voidExecutes the default function mapped to the specified tag.final voidextendSelection(TextPos pos) Extends selection to the specified position.final StyleAttributeMapReturnsStyleAttributeMapwhich contains character and paragraph attributes.final TextPosGets the value of theanchorPositionproperty.final DurationGets the value of thecaretBlinkPeriodproperty.final TextPosGets the value of thecaretPositionproperty.static List<CssMetaData<? extends Styleable, ?>> Gets theCssMetaDataassociated with this class, which may include theCssMetaDataof its superclasses.final InsetsGets the value of thecontentPaddingproperty.List<CssMetaData<? extends Styleable, ?>> Gets the unmodifiable list of the control's CSS-styleable properties.final TextPosReturns a TextPos corresponding to the end of the document.final InputMapReturns the input map instance.final SideDecoratorGets the value of theleftDecoratorproperty.final StyledTextModelgetModel()Gets the value of themodelproperty.final intReturns the number of paragraphs in the model.final TextPosgetParagraphEnd(int index) Returns a TextPos corresponding to the end of paragraph.final StringgetPlainText(int index) Returns the plain text at the specified paragraph index.final SideDecoratorGets the value of therightDecoratorproperty.final SelectionSegmentGets the value of theselectionproperty.Returns the style handler registry for this control.final TextPosgetTextPosition(double screenX, double screenY) Finds a text position corresponding to the specified screen coordinates.final booleanThis convenience method returns true when a non-empty selection exists.final BooleanPropertyIndicates whether the current paragraph will be visually highlighted.voidInserts a line break at the caret.voidInserts a tab symbol at the caret.final TextPosinsertText(TextPos pos, String text, StyleAttributeMap attrs) Inserts the styled text at the specified position.final TextPosinsertText(TextPos pos, StyledInput in) Inserts the styled content at the specified position.final booleanGets the value of thedisplayCaretproperty.final booleanGets the value of theeditableproperty.final booleanGets the value of thehighlightCurrentParagraphproperty.final booleanGets the value of theredoableproperty.final booleanGets the value of theundoableproperty.final booleanGets the value of theuseContentHeightproperty.final booleanGets the value of theuseContentWidthproperty.final booleanGets the value of thewrapTextproperty.final ObjectProperty<SideDecorator> Specifies the left-side paragraph decorator.final ObjectProperty<StyledTextModel> Determines theStyledTextModelto use with this RichTextArea.voidMoves the caret to after the last character of the text, clearing an existing selection.voidMoves the caret to before the first character of the text, clearing an existing selection.voidmoveDown()Moves the caret one visual line down, clearing an existing selection.voidmoveLeft()Moves the caret left, clearing an existing selection range.voidMoves the caret to the end of the visual text line at caret, clearing an existing selection.voidMoves the caret to the start of the visual text line at caret, clearing an existing selection.voidMoves the caret to the end of the current paragraph, or, if already there, to the end of the next paragraph.voidMoves the caret to the end of the paragraph at caret, clearing an existing selection.voidMoves the caret to the start of the current paragraph, clearing an existing selection.voidMoves the caret to the start of the current paragraph, or, if already there, to the start of the previous paragraph.voidMoves the caret to the next symbol, clearing an existing selection.voidmoveUp()Moves the caret one visual line up, clearing an existing selection.voidMoves the caret to the beginning of previous word in a left-to-right setting (or the beginning of the next word in a right-to-left setting), clearing an existing selection.voidMoves the caret to the end of the next word, clearing an existing selection.voidMoves the caret to the start of next word, clearing an existing selection.voidMoves the caret to the beginning of previous word, clearing an existing selection.voidMoves the caret to the beginning of next word in a left-to-right setting (or the beginning of the previous word in a right-to-left setting), clearing an existing selection.voidpageDown()Move caret one visual page down, clearing an existing selection.voidpageUp()Move caret one visual page up, clearing an existing selection.voidpaste()Pastes the clipboard content at the caret, or, if selection exists, replacing the selected text.voidpaste(DataFormat format) Pastes the clipboard content at the caret, or, if selection exists, replacing the selected text.final voidPastes the plain text clipboard content at the caret, or, if selection exists, replacing the selected text.final voidread(InputStream in) Calls the model to replace the current document with the content read from the input stream.final voidread(DataFormat f, InputStream in) Calls the model to replace the current document with the content read from the stream using the specifiedDataFormat.voidredo()If possible, redoes the last undone modification.final ReadOnlyBooleanPropertyThe property describes if it's currently possible to redo the latest change of the content that was undone.final TextPosreplaceText(TextPos start, TextPos end, String text, boolean allowUndo) Replaces the specified range with the new text.final TextPosreplaceText(TextPos start, TextPos end, StyledInput in, boolean createUndo) Replaces the specified range with the new input.final ObjectProperty<SideDecorator> Specifies the right-side paragraph decorator.final voidMoves both the caret and the anchor to the specified position, clearing any existing selection.final voidSelects the specified range and places the caret at the new position.voidSelects all the text in the document: the anchor is set at the document start, while the caret is positioned at the end of the document.voidExtends selection one visual text line down.final ReadOnlyProperty<SelectionSegment> Tracks the current selection.voidExtends selection one symbol to the left.voidExtends selection one visible page down.voidExtends selection one visible page up.voidSelects the current paragraph.voidExtends selection to the end of the current paragraph, or, if already at the end, to the end of the next paragraph.voidSelects from the current position to the paragraph end.voidSelects from the current position to the paragraph start.voidExtends selection to the start of the current paragraph, or, if already at the start, to the start of the previous paragraph.voidExtends selection one symbol (or grapheme cluster) to the right.voidExtends selection to the end of the document.voidExtends selection to the start of the document.voidExtends selection to the end of the visual text line at caret.voidExtends selection to the start of the visual text line at caret.voidselectUp()Extends selection one visual text line up.voidSelects a word at the caret position.voidMoves the caret to the beginning of previous word in a left-to-right setting, or to the beginning of the next word in a right-to-left setting.voidExtends selection to the end of the next word.voidMoves the caret to the start of the next word.voidMoves the caret to the beginning of previous word.voidMoves the caret to the beginning of next word in a left-to-right setting, or to the beginning of the previous word in a right-to-left setting.final voidsetCaretBlinkPeriod(Duration period) Sets the value of thecaretBlinkPeriodproperty.final voidsetContentPadding(Insets value) Sets the value of thecontentPaddingproperty.final voidsetDisplayCaret(boolean on) Sets the value of thedisplayCaretproperty.final voidsetEditable(boolean on) Sets the value of theeditableproperty.final voidsetHighlightCurrentParagraph(boolean on) Sets the value of thehighlightCurrentParagraphproperty.final voidSets the value of theleftDecoratorproperty.final voidSets the value of themodelproperty.final voidSets the value of therightDecoratorproperty.final voidsetStyle(TextPos start, TextPos end, StyleAttributeMap attrs) Sets the specified style to the selected range.final voidsetUseContentHeight(boolean on) Sets the value of theuseContentHeightproperty.final voidsetUseContentWidth(boolean on) Sets the value of theuseContentWidthproperty.final voidsetWrapText(boolean value) Sets the value of thewrapTextproperty.voidundo()If possible, undoes the last modification.final ReadOnlyBooleanPropertyThe property describes if it's currently possible to undo the latest change of the content that was done.final BooleanPropertyDetermines whether the preferred height is the same as the content height.final BooleanPropertyDetermines whether the preferred width is the same as the content width.protected voidValidates the model property value.final BooleanPropertyIndicates whether text should be wrapped in this RichTextArea.final voidwrite(OutputStream out) Calls the model to write the current document to the output stream, using the highest priorityDataFormatas determined by the model.final voidwrite(DataFormat f, OutputStream out) Calls the model to writes the current document to the output stream using the specifiedDataFormat.Methods declared in class javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, contextMenuProperty, getContextMenu, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, setContextMenu, setSkin, setTooltip, skinProperty, tooltipPropertyMethods declared in class 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, widthPropertyMethods declared in class javafx.scene.Parent
getBaselineOffset, getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, layoutChildren, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBoundsMethods declared in 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, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, focusVisibleProperty, focusWithinProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, 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, requestFocusTraversal, 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, visiblePropertyMethods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods declared in interface javafx.css.Styleable
getStyleableNode
-
Property Details
-
anchorPosition
Tracks the selection anchor position within the document. This read-only property is derived fromselectionproperty. The value can be null.Setting a
SelectionSegmentcauses an update to both the anchor and the caret positions. A null selection segment results in both positions to become null, a non-null selection segment sets both to non-null values.Note:
selectionProperty(),anchorPositionProperty(), andcaretPositionProperty()are logically connected. When a change occurs, the anchor position is updated first, followed by the caret position, followed by the selection segment.- Default value:
- null
- See Also:
-
caretBlinkPeriod
Determines the caret blink period. This property cannot be set tonull.This property can be styled with CSS using
-fx-caret-blink-periodname.- Default value:
- 1000 ms
- See Also:
-
caretPosition
Tracks the caret position within the document. This read-only property is derived fromselectionproperty. The value can be null.Setting a
SelectionSegmentcauses an update to both the anchor and the caret positions. A null selection segment results in both positions to become null, a non-null selection segment sets both to non-null values.Note:
selectionProperty(),anchorPositionProperty(), andcaretPositionProperty()are logically connected. When a change occurs, the anchor position is updated first, followed by the caret position, followed by the selection segment.- Default value:
- null
- See Also:
-
contentPadding
Specifies the padding for the RichTextArea content. The content padding value can be null, which is treated as no padding.This property can be styled with CSS using
-fx-content-paddingname.- Default value:
- null
- See Also:
-
displayCaret
This property controls whether caret will be displayed or not.This property can be styled with CSS using
-fx-display-caretname.- Default value:
- true
- See Also:
-
editable
Indicates whether this RichTextArea can be edited by the user, provided the model is also writable. Changing the value of this property with a view-only model or a null model has no effect.- Default value:
- true
- See Also:
-
highlightCurrentParagraph
Indicates whether the current paragraph will be visually highlighted.This property can be styled with CSS using
-fx-highlight-current-paragraphname.- Default value:
- false
- See Also:
-
leftDecorator
Specifies the left-side paragraph decorator. The value can be null.- Default value:
- null
- See Also:
-
model
Determines theStyledTextModelto use with this RichTextArea. The model can be null, which results in an empty, uneditable control.Note: Subclasses may impose additional restrictions on the type of the model they require.
- Default value:
- an instance of
RichTextModel - See Also:
-
redoable
The property describes if it's currently possible to redo the latest change of the content that was undone.- Default value:
- false
- See Also:
-
rightDecorator
Specifies the right-side paragraph decorator. The value can be null.- Default value:
- null
- See Also:
-
selection
Tracks the current selection. TheSelectionSegmentconsists of two values - the caret and the anchor positions which may get changed independently. This property allows for tracking the selection as an single entity. A null value for the selection segment causes both the caret and the anchor positions to become null.Note:
selectionProperty(),anchorPositionProperty(), andcaretPositionProperty()are logically connected. When a change occurs, the anchor position is updated first, followed by the caret position, followed by the selection segment.- Default value:
- null
- See Also:
-
undoable
The property describes if it's currently possible to undo the latest change of the content that was done.- Default value:
- false
- See Also:
-
useContentHeight
Determines whether the preferred height is the same as the content height. When set to true, the vertical scroll bar is disabled.This property can be styled with CSS using
-fx-use-content-heightname.- Default value:
- false
- See Also:
-
useContentWidth
Determines whether the preferred width is the same as the content width. When set to true, the horizontal scroll bar is disabled.This property can be styled with CSS using
-fx-use-content-widthname.- Default value:
- false
- See Also:
-
wrapText
Indicates whether text should be wrapped in this RichTextArea. If a run of text exceeds the width of theRichTextArea, then this variable indicates whether the text should wrap onto another line. Setting this property totruehides the horizontal scroll bar.This property can be styled with CSS using
-fx-wrap-textname.- Default value:
- false
- See Also:
-
-
Field Details
-
styleHandlerRegistry
The style handler registry instance, made available for use by subclasses to add support for new style attributes.
-
-
Constructor Details
-
RichTextArea
public RichTextArea()Creates the instance with the in-memory modelRichTextModel. -
RichTextArea
Creates the instance using the specified model.Multiple RichTextArea instances can work off a single model.
- Parameters:
model- the model
-
-
Method Details
-
anchorPositionProperty
Tracks the selection anchor position within the document. This read-only property is derived fromselectionproperty. The value can be null.Setting a
SelectionSegmentcauses an update to both the anchor and the caret positions. A null selection segment results in both positions to become null, a non-null selection segment sets both to non-null values.Note:
selectionProperty(),anchorPositionProperty(), andcaretPositionProperty()are logically connected. When a change occurs, the anchor position is updated first, followed by the caret position, followed by the selection segment.- Default value:
- null
- Returns:
- the anchor position property
- See Also:
-
getAnchorPosition
Gets the value of theanchorPositionproperty.- Property description:
- Tracks the selection anchor position within the document. This read-only property is derived from
selectionproperty. The value can be null.Setting a
SelectionSegmentcauses an update to both the anchor and the caret positions. A null selection segment results in both positions to become null, a non-null selection segment sets both to non-null values.Note:
selectionProperty(),anchorPositionProperty(), andcaretPositionProperty()are logically connected. When a change occurs, the anchor position is updated first, followed by the caret position, followed by the selection segment. - Default value:
- null
- Returns:
- the value of the
anchorPositionproperty - See Also:
-
caretBlinkPeriodProperty
Determines the caret blink period. This property cannot be set tonull.This property can be styled with CSS using
-fx-caret-blink-periodname.- Default value:
- 1000 ms
- Returns:
- the caret blink period property
- See Also:
-
setCaretBlinkPeriod
Sets the value of thecaretBlinkPeriodproperty.- Property description:
- Determines the caret blink period. This property cannot be set to
null.This property can be styled with CSS using
-fx-caret-blink-periodname. - Default value:
- 1000 ms
- Parameters:
period- the value for thecaretBlinkPeriodproperty- See Also:
-
getCaretBlinkPeriod
Gets the value of thecaretBlinkPeriodproperty.- Property description:
- Determines the caret blink period. This property cannot be set to
null.This property can be styled with CSS using
-fx-caret-blink-periodname. - Default value:
- 1000 ms
- Returns:
- the value of the
caretBlinkPeriodproperty - See Also:
-
caretPositionProperty
Tracks the caret position within the document. This read-only property is derived fromselectionproperty. The value can be null.Setting a
SelectionSegmentcauses an update to both the anchor and the caret positions. A null selection segment results in both positions to become null, a non-null selection segment sets both to non-null values.Note:
selectionProperty(),anchorPositionProperty(), andcaretPositionProperty()are logically connected. When a change occurs, the anchor position is updated first, followed by the caret position, followed by the selection segment.- Default value:
- null
- Returns:
- the caret position property
- See Also:
-
getCaretPosition
Gets the value of thecaretPositionproperty.- Property description:
- Tracks the caret position within the document. This read-only property is derived from
selectionproperty. The value can be null.Setting a
SelectionSegmentcauses an update to both the anchor and the caret positions. A null selection segment results in both positions to become null, a non-null selection segment sets both to non-null values.Note:
selectionProperty(),anchorPositionProperty(), andcaretPositionProperty()are logically connected. When a change occurs, the anchor position is updated first, followed by the caret position, followed by the selection segment. - Default value:
- null
- Returns:
- the value of the
caretPositionproperty - See Also:
-
contentPaddingProperty
Specifies the padding for the RichTextArea content. The content padding value can be null, which is treated as no padding.This property can be styled with CSS using
-fx-content-paddingname.- Default value:
- null
- Returns:
- the content padding property
- See Also:
-
setContentPadding
Sets the value of thecontentPaddingproperty.- Property description:
- Specifies the padding for the RichTextArea content.
The content padding value can be null, which is treated as no padding.
This property can be styled with CSS using
-fx-content-paddingname. - Default value:
- null
- Parameters:
value- the value for thecontentPaddingproperty- See Also:
-
getContentPadding
Gets the value of thecontentPaddingproperty.- Property description:
- Specifies the padding for the RichTextArea content.
The content padding value can be null, which is treated as no padding.
This property can be styled with CSS using
-fx-content-paddingname. - Default value:
- null
- Returns:
- the value of the
contentPaddingproperty - See Also:
-
displayCaretProperty
This property controls whether caret will be displayed or not.This property can be styled with CSS using
-fx-display-caretname.- Default value:
- true
- Returns:
- the display caret property
- See Also:
-
setDisplayCaret
public final void setDisplayCaret(boolean on) Sets the value of thedisplayCaretproperty.- Property description:
- This property controls whether caret will be displayed or not.
This property can be styled with CSS using
-fx-display-caretname. - Default value:
- true
- Parameters:
on- the value for thedisplayCaretproperty- See Also:
-
isDisplayCaret
public final boolean isDisplayCaret()Gets the value of thedisplayCaretproperty.- Property description:
- This property controls whether caret will be displayed or not.
This property can be styled with CSS using
-fx-display-caretname. - Default value:
- true
- Returns:
- the value of the
displayCaretproperty - See Also:
-
editableProperty
Indicates whether this RichTextArea can be edited by the user, provided the model is also writable. Changing the value of this property with a view-only model or a null model has no effect.- Default value:
- true
- Returns:
- the editable property
- See Also:
-
isEditable
public final boolean isEditable()Gets the value of theeditableproperty.- Property description:
- Indicates whether this RichTextArea can be edited by the user, provided the model is also writable. Changing the value of this property with a view-only model or a null model has no effect.
- Default value:
- true
- Returns:
- the value of the
editableproperty - See Also:
-
setEditable
public final void setEditable(boolean on) Sets the value of theeditableproperty.- Property description:
- Indicates whether this RichTextArea can be edited by the user, provided the model is also writable. Changing the value of this property with a view-only model or a null model has no effect.
- Default value:
- true
- Parameters:
on- the value for theeditableproperty- See Also:
-
highlightCurrentParagraphProperty
Indicates whether the current paragraph will be visually highlighted.This property can be styled with CSS using
-fx-highlight-current-paragraphname.- Default value:
- false
- Returns:
- the highlight current paragraph property
- See Also:
-
isHighlightCurrentParagraph
public final boolean isHighlightCurrentParagraph()Gets the value of thehighlightCurrentParagraphproperty.- Property description:
- Indicates whether the current paragraph will be visually highlighted.
This property can be styled with CSS using
-fx-highlight-current-paragraphname. - Default value:
- false
- Returns:
- the value of the
highlightCurrentParagraphproperty - See Also:
-
setHighlightCurrentParagraph
public final void setHighlightCurrentParagraph(boolean on) Sets the value of thehighlightCurrentParagraphproperty.- Property description:
- Indicates whether the current paragraph will be visually highlighted.
This property can be styled with CSS using
-fx-highlight-current-paragraphname. - Default value:
- false
- Parameters:
on- the value for thehighlightCurrentParagraphproperty- See Also:
-
leftDecoratorProperty
Specifies the left-side paragraph decorator. The value can be null.- Default value:
- null
- Returns:
- the left decorator property
- See Also:
-
getLeftDecorator
Gets the value of theleftDecoratorproperty.- Property description:
- Specifies the left-side paragraph decorator. The value can be null.
- Default value:
- null
- Returns:
- the value of the
leftDecoratorproperty - See Also:
-
setLeftDecorator
Sets the value of theleftDecoratorproperty.- Property description:
- Specifies the left-side paragraph decorator. The value can be null.
- Default value:
- null
- Parameters:
d- the value for theleftDecoratorproperty- See Also:
-
modelProperty
Determines theStyledTextModelto use with this RichTextArea. The model can be null, which results in an empty, uneditable control.Note: Subclasses may impose additional restrictions on the type of the model they require.
- Default value:
- an instance of
RichTextModel - Returns:
- the model property
- See Also:
-
setModel
Sets the value of themodelproperty.- Property description:
- Determines the
StyledTextModelto use with this RichTextArea. The model can be null, which results in an empty, uneditable control.Note: Subclasses may impose additional restrictions on the type of the model they require.
- Default value:
- an instance of
RichTextModel - Parameters:
m- the value for themodelproperty- See Also:
-
getModel
Gets the value of themodelproperty.- Property description:
- Determines the
StyledTextModelto use with this RichTextArea. The model can be null, which results in an empty, uneditable control.Note: Subclasses may impose additional restrictions on the type of the model they require.
- Default value:
- an instance of
RichTextModel - Returns:
- the value of the
modelproperty - See Also:
-
validateModel
Validates the model property value. The subclass should override this method if it restricts the type of model that is supported, and throw anIllegalArgumentExceptionif the model is not supported. Anullvalue should always be acceptable and never generate an exception.- Parameters:
m- the model (can be null)
-
redoableProperty
The property describes if it's currently possible to redo the latest change of the content that was undone.- Default value:
- false
- Returns:
- the read-only property
- See Also:
-
isRedoable
public final boolean isRedoable()Gets the value of theredoableproperty.- Property description:
- The property describes if it's currently possible to redo the latest change of the content that was undone.
- Default value:
- false
- Returns:
- the value of the
redoableproperty - See Also:
-
rightDecoratorProperty
Specifies the right-side paragraph decorator. The value can be null.- Default value:
- null
- Returns:
- the right decorator property
- See Also:
-
getRightDecorator
Gets the value of therightDecoratorproperty.- Property description:
- Specifies the right-side paragraph decorator. The value can be null.
- Default value:
- null
- Returns:
- the value of the
rightDecoratorproperty - See Also:
-
setRightDecorator
Sets the value of therightDecoratorproperty.- Property description:
- Specifies the right-side paragraph decorator. The value can be null.
- Default value:
- null
- Parameters:
d- the value for therightDecoratorproperty- See Also:
-
selectionProperty
Tracks the current selection. TheSelectionSegmentconsists of two values - the caret and the anchor positions which may get changed independently. This property allows for tracking the selection as an single entity. A null value for the selection segment causes both the caret and the anchor positions to become null.Note:
selectionProperty(),anchorPositionProperty(), andcaretPositionProperty()are logically connected. When a change occurs, the anchor position is updated first, followed by the caret position, followed by the selection segment.- Default value:
- null
- Returns:
- the selection property
- See Also:
-
getSelection
Gets the value of theselectionproperty.- Property description:
- Tracks the current selection. The
SelectionSegmentconsists of two values - the caret and the anchor positions which may get changed independently. This property allows for tracking the selection as an single entity. A null value for the selection segment causes both the caret and the anchor positions to become null.Note:
selectionProperty(),anchorPositionProperty(), andcaretPositionProperty()are logically connected. When a change occurs, the anchor position is updated first, followed by the caret position, followed by the selection segment. - Default value:
- null
- Returns:
- the value of the
selectionproperty - See Also:
-
undoableProperty
The property describes if it's currently possible to undo the latest change of the content that was done.- Default value:
- false
- Returns:
- the read-only property
- See Also:
-
isUndoable
public final boolean isUndoable()Gets the value of theundoableproperty.- Property description:
- The property describes if it's currently possible to undo the latest change of the content that was done.
- Default value:
- false
- Returns:
- the value of the
undoableproperty - See Also:
-
useContentHeightProperty
Determines whether the preferred height is the same as the content height. When set to true, the vertical scroll bar is disabled.This property can be styled with CSS using
-fx-use-content-heightname.- Default value:
- false
- Returns:
- the use content height property
- See Also:
-
isUseContentHeight
public final boolean isUseContentHeight()Gets the value of theuseContentHeightproperty.- Property description:
- Determines whether the preferred height is the same as the content height.
When set to true, the vertical scroll bar is disabled.
This property can be styled with CSS using
-fx-use-content-heightname. - Default value:
- false
- Returns:
- the value of the
useContentHeightproperty - See Also:
-
setUseContentHeight
public final void setUseContentHeight(boolean on) Sets the value of theuseContentHeightproperty.- Property description:
- Determines whether the preferred height is the same as the content height.
When set to true, the vertical scroll bar is disabled.
This property can be styled with CSS using
-fx-use-content-heightname. - Default value:
- false
- Parameters:
on- the value for theuseContentHeightproperty- See Also:
-
useContentWidthProperty
Determines whether the preferred width is the same as the content width. When set to true, the horizontal scroll bar is disabled.This property can be styled with CSS using
-fx-use-content-widthname.- Default value:
- false
- Returns:
- the use content width property
- See Also:
-
isUseContentWidth
public final boolean isUseContentWidth()Gets the value of theuseContentWidthproperty.- Property description:
- Determines whether the preferred width is the same as the content width.
When set to true, the horizontal scroll bar is disabled.
This property can be styled with CSS using
-fx-use-content-widthname. - Default value:
- false
- Returns:
- the value of the
useContentWidthproperty - See Also:
-
setUseContentWidth
public final void setUseContentWidth(boolean on) Sets the value of theuseContentWidthproperty.- Property description:
- Determines whether the preferred width is the same as the content width.
When set to true, the horizontal scroll bar is disabled.
This property can be styled with CSS using
-fx-use-content-widthname. - Default value:
- false
- Parameters:
on- the value for theuseContentWidthproperty- See Also:
-
wrapTextProperty
Indicates whether text should be wrapped in this RichTextArea. If a run of text exceeds the width of theRichTextArea, then this variable indicates whether the text should wrap onto another line. Setting this property totruehides the horizontal scroll bar.This property can be styled with CSS using
-fx-wrap-textname.- Default value:
- false
- Returns:
- the wrap text property
- See Also:
-
isWrapText
public final boolean isWrapText()Gets the value of thewrapTextproperty.- Property description:
- Indicates whether text should be wrapped in this RichTextArea.
If a run of text exceeds the width of the
RichTextArea, then this variable indicates whether the text should wrap onto another line. Setting this property totruehides the horizontal scroll bar.This property can be styled with CSS using
-fx-wrap-textname. - Default value:
- false
- Returns:
- the value of the
wrapTextproperty - See Also:
-
setWrapText
public final void setWrapText(boolean value) Sets the value of thewrapTextproperty.- Property description:
- Indicates whether text should be wrapped in this RichTextArea.
If a run of text exceeds the width of the
RichTextArea, then this variable indicates whether the text should wrap onto another line. Setting this property totruehides the horizontal scroll bar.This property can be styled with CSS using
-fx-wrap-textname. - Default value:
- false
- Parameters:
value- the value for thewrapTextproperty- See Also:
-
getClassCssMetaData
Gets theCssMetaDataassociated with this class, which may include theCssMetaDataof its superclasses.- Returns:
- the
CssMetaData
-
getControlCssMetaData
Description copied from class:ControlGets the unmodifiable list of the control's CSS-styleable properties.- Overrides:
getControlCssMetaDatain classControl- Returns:
- the unmodifiable list of the control's CSS-styleable properties
-
appendText
Appends the styled text to the end of the document. Any embedded"\n"or"\r\n"sequences result in a new paragraph being added.It is up to the model to decide whether to accept all, some, or none of the
StyleAttributes.- Parameters:
text- the text to appendattrs- the style attributes- Returns:
- the text position at the end of the appended text, or null if editing is disabled
- Throws:
NullPointerException- if the model isnullUnsupportedOperationException- if the model is notwritable
-
appendText
Appends the styled text to the end of the document. Any embedded"\n"or"\r\n"sequences result in a new paragraph being added.This convenience method is equivalent to calling
appendText(text, StyleAttributeMap.EMPTY);- Parameters:
text- the text to append- Returns:
- the text position at the end of the appended text, or null if editing is disabled
- Throws:
NullPointerException- if the model isnullUnsupportedOperationException- if the model is notwritable
-
appendText
Appends the styled content to the end of the document. Any embedded"\n"or"\r\n"sequences result in a new paragraph being added.- Parameters:
in- the input stream- Returns:
- the text position at the end of the appended text, or null if editing is disabled
- Throws:
NullPointerException- if the model isnullUnsupportedOperationException- if the model is notwritable
-
applyStyle
Applies the specified style to the selected range. The specified attributes will be merged, overriding the existing ones. When applying paragraph attributes, the affected range might extend beyondstartandendto include whole paragraphs.- Parameters:
start- the start of text rangeend- the end of text rangeattrs- the style attributes to apply- Throws:
NullPointerException- if the model isnullUnsupportedOperationException- if the model is notwritable
-
backspace
public void backspace()When selection exists, deletes selected text. Otherwise, deletes the character preceding the caret, possibly breaking up the grapheme clusters.This method does nothing if the control is not editable or the model is not writable, or the model or the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
clear
public final void clear()Clears the document, creating an undo entry.- Throws:
NullPointerException- if the model isnullUnsupportedOperationException- if the model is notwritable
-
clearSelection
public final void clearSelection()Clears existing selection, if any. This method is an alias forgetSelectionModel().clear(). -
clearUndoRedo
public final void clearUndoRedo()Clears the undo-redo stack of the underlying model. This method does nothing if the model isnull. -
copy
public void copy()When selection exists, copies the selected rich text to the clipboard in all the formats supported by the model.This method does nothing if the model or the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
copy
Copies the selected text in the specified format to the clipboard. This method does nothing if no selection exists or when the data format is not supported by the model.- Parameters:
format- the data format to use
-
cut
public void cut()Transfers the currently selected text to the clipboard, removing the current selection.This method does nothing if the control is not editable or the model is not writable, or the model or the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
delete
public void delete()When selection exists, deletes selected text. Otherwise, deletes the symbol at the caret. When the symbol at the caret is a grapheme cluster, deletes the whole cluster.This method does nothing if the control is not editable or the model is not writable, or the model or the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
deleteParagraph
public void deleteParagraph()When selection exists, deletes selected paragraphs. Otherwise, deletes the paragraph at the caret.This method does nothing if the control is not editable or the model is not writable, or the model or the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
deleteParagraphStart
public void deleteParagraphStart()Deletes text from the caret position to the start of the paragraph, ignoring existing selection.This method does nothing if the control is not editable or the model is not writable, or the model or the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
deleteWordNextEnd
public void deleteWordNextEnd()Deletes from the caret positon to the end of next word, ignoring existing selection. When the caret is in an empty paragraph, deletes the paragraph.This method does nothing if the control is not editable or the model is not writable, or the model or the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
deleteWordNextStart
public void deleteWordNextStart()Deletes from the caret positon to the start of next word, ignoring existing selection. When the caret is in an empty paragraph, deletes the paragraph.This method does nothing if the control is not editable or the model is not writable, or the model or the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
deleteWordPrevious
public void deleteWordPrevious()Deletes (multiple) empty paragraphs or text from the caret position to the start of the previous word, ignoring existing selection.This method does nothing if the control is not editable or the model is not writable, or the model or the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
deselect
public void deselect()Clears the selected text range by moving anchor to the caret position.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
errorFeedback
public void errorFeedback()Provides audio and/or visual error feedback. The default implementation does nothing. This action can be changed by remapping the default behavior viaInputMap.- See Also:
-
execute
Executes a function mapped to the specified function tag. This method does nothing if no function is mapped to the tag, or the function has been unbound.- Parameters:
tag- the function tag
-
executeDefault
Executes the default function mapped to the specified tag. This method does nothing if no default mapping exists.- Parameters:
tag- the function tag
-
extendSelection
Extends selection to the specified position. Internally, this method will normalized the position to be within the document boundaries. Calling this method produces the same result asselect(pos, pos)if no prior selection exists. This method does nothing if the model is null.- Parameters:
pos- the text position
-
getActiveStyleAttributeMap
ReturnsStyleAttributeMapwhich contains character and paragraph attributes.When selection exists, returns the attributes at the first selected character.
When no selection exists, returns the attributes at the character which immediately precedes the caret. When at the beginning of the document, returns the attributes of the first character. If the model uses CSS styles, this method resolves individual attributes (bold, font size, etc.) for this instance of
RichTextArea.- Returns:
- the non-null
StyleAttributeMapinstance
-
getDocumentEnd
Returns a TextPos corresponding to the end of the document. When the model is null, returnsTextPos.ZERO.- Returns:
- the text position
-
getInputMap
-
getParagraphCount
public final int getParagraphCount()Returns the number of paragraphs in the model. This method returns 0 if the model isnull.- Returns:
- the paragraph count
-
getParagraphEnd
Returns a TextPos corresponding to the end of paragraph. When the model is null, returnsTextPos.ZERO.- Parameters:
index- paragraph index- Returns:
- text position
-
getPlainText
Returns the plain text at the specified paragraph index. The value ofindexmust be between 0 (inclusive) and the value returned bygetParagraphCount()(exclusive).- Parameters:
index- the paragraph index- Returns:
- the non-null plain text string
- Throws:
IndexOutOfBoundsException- if the index is outside of the range supported by the model
-
getStyleHandlerRegistry
Returns the style handler registry for this control. Applications should not normally call this method as it is intended for use by the skin subclasses.- Returns:
- the style handler registry
-
getTextPosition
Finds a text position corresponding to the specified screen coordinates. This method returnsnullif the specified coordinates are outside of the content area.- Parameters:
screenX- the screen x coordinatescreenY- the screen y coordinate- Returns:
- the text position, or null
-
hasNonEmptySelection
public final boolean hasNonEmptySelection()This convenience method returns true when a non-empty selection exists.- Returns:
- true when an non-empty selection exists
-
insertLineBreak
public void insertLineBreak()Inserts a line break at the caret. If selection exists, first deletes the selected text.This method does nothing if the control is not editable or the model is not writable, or the model or the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
insertTab
public void insertTab()Inserts a tab symbol at the caret. If selection exists, first deletes the selected text.This method does nothing if the control is not editable or the model is not writable, or the model or the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
insertText
Inserts the styled text at the specified position. Any embedded"\n"or"\r\n"sequences result in a new paragraph being added.- Parameters:
pos- the insert positiontext- the text to inserattrs- the style attributes- Returns:
- the text position at the end of the appended text, or null if editing is disabled
- Throws:
NullPointerException- if the model isnullUnsupportedOperationException- if the model is notwritable
-
insertText
Inserts the styled content at the specified position.- Parameters:
pos- the insert positionin- the input stream- Returns:
- the text position at the end of the appended text, or null if editing is disabled
- Throws:
NullPointerException- if the model isnullUnsupportedOperationException- if the model is notwritable
-
moveDocumentEnd
public void moveDocumentEnd()Moves the caret to after the last character of the text, clearing an existing selection.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
moveDocumentStart
public void moveDocumentStart()Moves the caret to before the first character of the text, clearing an existing selection.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
moveDown
public void moveDown()Moves the caret one visual line down, clearing an existing selection.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
moveLeft
public void moveLeft()Moves the caret left, clearing an existing selection range.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
moveLineEnd
public void moveLineEnd()Moves the caret to the end of the visual text line at caret, clearing an existing selection.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
moveLineStart
public void moveLineStart()Moves the caret to the start of the visual text line at caret, clearing an existing selection.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
moveParagraphDown
public void moveParagraphDown()Moves the caret to the end of the current paragraph, or, if already there, to the end of the next paragraph.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
moveParagraphEnd
public void moveParagraphEnd()Moves the caret to the end of the paragraph at caret, clearing an existing selection.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
moveParagraphStart
public void moveParagraphStart()Moves the caret to the start of the current paragraph, clearing an existing selection.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
moveParagraphUp
public void moveParagraphUp()Moves the caret to the start of the current paragraph, or, if already there, to the start of the previous paragraph.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
moveRight
public void moveRight()Moves the caret to the next symbol, clearing an existing selection.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
moveUp
public void moveUp()Moves the caret one visual line up, clearing an existing selection.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
moveWordLeft
public void moveWordLeft()Moves the caret to the beginning of previous word in a left-to-right setting (or the beginning of the next word in a right-to-left setting), clearing an existing selection.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
moveWordNextEnd
public void moveWordNextEnd()Moves the caret to the end of the next word, clearing an existing selection.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
moveWordNextStart
public void moveWordNextStart()Moves the caret to the start of next word, clearing an existing selection.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
moveWordPrevious
public void moveWordPrevious()Moves the caret to the beginning of previous word, clearing an existing selection.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
moveWordRight
public void moveWordRight()Moves the caret to the beginning of next word in a left-to-right setting (or the beginning of the previous word in a right-to-left setting), clearing an existing selection.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
pageDown
public void pageDown()Move caret one visual page down, clearing an existing selection.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
pageUp
public void pageUp()Move caret one visual page up, clearing an existing selection.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
paste
public void paste()Pastes the clipboard content at the caret, or, if selection exists, replacing the selected text. This method clears the selection afterward. It is up to the model to pick the best data format to paste.This method does nothing if the control is not editable or the model is not writable, or the model or the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
paste
Pastes the clipboard content at the caret, or, if selection exists, replacing the selected text.This method does nothing if the control is not editable or the model is not writable, or the model is
null, or if the specified format is not supported by the model.- Parameters:
format- the data format to use
-
pastePlainText
public final void pastePlainText()Pastes the plain text clipboard content at the caret, or, if selection exists, replacing the selected text.This method does nothing if the control is not editable or the model is not writable, or the model or the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
read
Calls the model to replace the current document with the content read from the stream using the specifiedDataFormat. Any existing content is discarded and undo/redo buffer is cleared.This method does not close the input stream. This method does nothing if the model is
null.- Parameters:
f- the data formatin- the input stream- Throws:
IOException- if an I/O error occursUnsupportedOperationException- when the data format is not supported by the model
-
read
Calls the model to replace the current document with the content read from the input stream. The model picks the bestDataFormatto use based on priority. Any existing content is discarded and undo/redo buffer is cleared.This method does not close the input stream. This method does nothing if the model is
null.- Parameters:
in- the input stream- Throws:
IOException- if an I/O error occursUnsupportedOperationException- when the data format is not supported by the model
-
redo
public void redo()If possible, redoes the last undone modification. IfisRedoable()returns false, then calling this method has no effect.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
replaceText
Replaces the specified range with the new text.- Parameters:
start- the start text positionend- the end text positiontext- the input textallowUndo- when true, creates an undo-redo entry- Returns:
- the new caret position at the end of inserted text, or null if the change cannot be made
- Throws:
NullPointerException- if the model isnullUnsupportedOperationException- if the model is notwritable
-
replaceText
Replaces the specified range with the new input.- Parameters:
start- the start text positionend- the end text positionin- the input streamcreateUndo- when true, creates an undo-redo entry- Returns:
- the new caret position at the end of inserted text, or null if the change cannot be made
- Throws:
NullPointerException- if the model isnullUnsupportedOperationException- if the model is notwritable
-
select
Moves both the caret and the anchor to the specified position, clearing any existing selection. This method is equivalent toselect(pos, pos).- Parameters:
pos- the text position
-
select
Selects the specified range and places the caret at the new position. Both positions will be internally clamped to be within the document boundaries. This method does nothing if the model is null.- Parameters:
anchor- the new selection anchor positioncaret- the new caret position
-
selectAll
public void selectAll()Selects all the text in the document: the anchor is set at the document start, while the caret is positioned at the end of the document.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
selectDown
public void selectDown()Extends selection one visual text line down.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
selectLeft
public void selectLeft()Extends selection one symbol to the left.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
selectPageDown
public void selectPageDown()Extends selection one visible page down.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
selectPageUp
public void selectPageUp()Extends selection one visible page up.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
selectParagraph
public void selectParagraph()Selects the current paragraph.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
selectParagraphDown
public void selectParagraphDown()Extends selection to the end of the current paragraph, or, if already at the end, to the end of the next paragraph.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
selectParagraphEnd
public void selectParagraphEnd()Selects from the current position to the paragraph end.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
selectParagraphStart
public void selectParagraphStart()Selects from the current position to the paragraph start.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
selectParagraphUp
public void selectParagraphUp()Extends selection to the start of the current paragraph, or, if already at the start, to the start of the previous paragraph.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
selectRight
public void selectRight()Extends selection one symbol (or grapheme cluster) to the right.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
selectToDocumentEnd
public void selectToDocumentEnd()Extends selection to the end of the document.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
selectToDocumentStart
public void selectToDocumentStart()Extends selection to the start of the document.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
selectToLineEnd
public void selectToLineEnd()Extends selection to the end of the visual text line at caret.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
selectToLineStart
public void selectToLineStart()Extends selection to the start of the visual text line at caret.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
selectUp
public void selectUp()Extends selection one visual text line up.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
selectWord
public void selectWord()Selects a word at the caret position.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
selectWordLeft
public void selectWordLeft()Moves the caret to the beginning of previous word in a left-to-right setting, or to the beginning of the next word in a right-to-left setting. This does not cause the selection to be cleared. Rather, the anchor stays put and the caretPosition is moved to the beginning of next word.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
selectWordNextEnd
public void selectWordNextEnd()Extends selection to the end of the next word.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
selectWordNextStart
public void selectWordNextStart()Moves the caret to the start of the next word. This does not cause the selection to be cleared. Rather, the anchor stays put and the caretPosition is moved to the beginning of next word.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
selectWordPrevious
public void selectWordPrevious()Moves the caret to the beginning of previous word. This does not cause the selection to be cleared. Rather, the anchor stays put and the caretPosition is moved to the beginning of previous word.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
selectWordRight
public void selectWordRight()Moves the caret to the beginning of next word in a left-to-right setting, or to the beginning of the previous word in a right-to-left setting. This does not cause the selection to be cleared. Rather, the anchor stays put and the caretPosition is moved to the beginning of next word.This method does nothing when the caret position is
null.This action can be changed by remapping the default behavior via
InputMap.- See Also:
-
setStyle
Sets the specified style to the selected range. All the existing attributes in the selected range will be cleared. When setting the paragraph attributes, the affected range might be wider than one specified.- Parameters:
start- the start of text rangeend- the end of text rangeattrs- the style attributes to set- Throws:
NullPointerException- if the model isnullUnsupportedOperationException- if the model is notwritable
-
undo
public void undo()If possible, undoes the last modification. IfisUndoable()returns false, then calling this method has no effect.This method does nothing if the control is not editable or the model is not writable, or the model or the caret position is
null. This action can be changed by remapping the default behavior viaInputMap.- See Also:
-
write
Calls the model to writes the current document to the output stream using the specifiedDataFormat.This method does not close the output stream. This method does nothing if the model is
null.- Parameters:
f- the data formatout- the output stream- Throws:
IOException- if an I/O error occursUnsupportedOperationException- when the data format is not supported by the model
-
write
Calls the model to write the current document to the output stream, using the highest priorityDataFormatas determined by the model.This method does not close the output stream. This method does nothing if the model is
null.- Parameters:
out- the output stream- Throws:
IOException- if an I/O error occursUnsupportedOperationException- when no suitable data format can be found
-
createDefaultSkin
Description copied from class:ControlCreate a new instance of the default skin for this control. This is called to create a skin for the control if no skin is provided via CSS-fx-skinor set explicitly in a sub-class withsetSkin(...).- Overrides:
createDefaultSkinin classControl- Returns:
- new instance of default skin for this control. If null then the control will have no skin unless one is provided by css.
-