org.gjt.sp.jedit.textarea

## Class TextArea

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - org.gjt.sp.jedit.textarea.TextArea

All Implemented Interfaces:
  java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

Direct Known Subclasses:
  JEditEmbeddedTextArea, JEditTextArea, StandaloneTextArea

    public abstract class TextArea
    extends javax.swing.JComponent

Abstract TextArea component. The concrete instance used by jEdit itself is called the JEditTextArea. This class uses a minimal set of jEdit APIs because it is the base class of the JEditEmbeddedTextArea and StandaloneTextArea, so it needs to be embeddable and separable.

See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class javax.swing.JComponent

`javax.swing.JComponent.AccessibleJComponent`

### Nested classes/interfaces inherited from class java.awt.Container

`java.awt.Container.AccessibleAWTContainer`

### Nested classes/interfaces inherited from class java.awt.Component

`java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy`

### Field Summary

Fields
`protected JEditBuffer` `buffer`
`protected int` `caret`
`protected int` `caretLine`
`static int` `ELECTRIC_SCROLL`
`protected InputHandlerProvider` `inputHandlerProvider`
`protected boolean` `multi` Flag that tells if multiple selection is on.
`static int` `NO_SCROLL`
`static int` `NORMAL_SCROLL`
`protected TextAreaPainter` `painter`
`protected javax.swing.JPopupMenu` `popup`

### Fields inherited from class javax.swing.JComponent

`accessibleContext, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

### Fields inherited from class java.awt.Component

`BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

### Fields inherited from interface java.awt.image.ImageObserver

`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

### Constructor Summary

Constructors
`protected` `TextArea(IPropertyManager propertyManager, InputHandlerProvider inputHandlerProvider)` Creates a new JEditTextArea.

### Method Summary

Methods
`void` `addActionSet(JEditActionSet<JEditBeanShellAction> actionSet)` Adds a new action set to the textarea's list of ActionSets.
`void` `addCaretListener(javax.swing.event.CaretListener listener)` Adds a caret change listener to this text area.
`void` `addExplicitFold()` Surrounds the selection with explicit fold markers.
`protected int` `addExplicitFold(int caretStart, int caretEnd, int lineStart, int lineEnd)` Add an explicit fold.
`void` `addLeftOfScrollBar(java.awt.Component comp)` Adds a component to the left side of the box left of the vertical scroll bar.
`void` `addNotify()` Called by the AWT when this component is added to a parent.
`void` `addScrollListener(ScrollListener listener)` Adds a scroll listener to this text area.
`void` `addStatusListener(StatusListener listener)` Adds a scroll listener to this text area.
`void` `addStructureMatcher(StructureMatcher matcher)` Adds a structure matcher.
`void` `addTopComponent(java.awt.Component comp)` Adds a component above the gutter, text area, and vertical scroll bar.
`void` `addToSelection(Selection selection)` Adds to the selection.
`void` `addToSelection(Selection[] selection)` Adds to the selection.
`void` `backspace()` Deletes the character before the caret, or the selection, if one is active.
`void` `backspaceWord()` Deletes the word before the caret.
`void` `backspaceWord(boolean eatWhitespace)` Deletes the word before the caret.
`void` `backspaceWord(boolean eatWhitespace, boolean eatOnlyAfterWord)` Deletes the word before the caret.
`void` `blinkCaret()` Blinks the caret.
`boolean` `caretAutoScroll()` Return if change in buffer should scroll this text area.
`void` `centerCaret()` Centers the caret on the screen.
`void` `collapseFold()` Like `DisplayManager.collapseFold(int)`, but also moves the caret to the first line of the fold.
`void` `collapseFold(int line)` Like `DisplayManager.collapseFold(int)`, but also moves the caret to the first line of the fold.
`void` `createPopupMenu(java.awt.event.MouseEvent evt)` Creates the popup menu.
`void` `delete()` Deletes the character after the caret.
`void` `deleteLine()` Deletes the line containing the caret.
`void` `deleteParagraph()` Deletes the paragraph containing the caret.
`void` `deleteToEndOfLine()` Deletes from the caret to the end of the current line.
`void` `deleteToStartOfLine()` Deletes from the caret to the beginning of the current line.
`void` `deleteWord()` Deletes the word in front of the caret.
`void` `deleteWord(boolean eatWhitespace)` Deletes the word in front of the caret.
`void` `dispose()` Plugins and macros should not call this method.
`protected boolean` `doWordWrap(boolean spaceInserted)` Does hard wrap.
`void` `end(boolean select)` a dumb end action which only has 2 states: end of whitespace or end of line
`void` `expandFold(boolean fully)` Like `DisplayManager.expandFold(int,boolean)`, but also moves the caret to the first sub-fold.
`void` `extendSelection(int offset, int end)` Extends the selection at the specified offset, or creates a new one if there is no selection at the specified offset.
`void` `extendSelection(int offset, int end, int extraStartVirt, int extraEndVirt)` Extends the selection at the specified offset, or creates a new one if there is no selection at the specified offset.
`void` `formatParagraph()` Formats the paragraph containing the caret.
`JEditActionContext<JEditBeanShellAction,JEditActionSet<JEditBeanShellAction>>` `getActionContext()`
`JEditBuffer` `getBuffer()` Returns the buffer this text area is editing.
`int` `getBufferLength()` Returns the length of the buffer.
`int` `getCaretLine()` Returns the line number containing the caret.
`int` `getCaretPosition()` Returns a zero-based index of the caret position.
`DisplayManager` `getDisplayManager()`
`int` `getElectricScroll()`
`int` `getFirstLine()` Returns the vertical scroll bar position.
`int` `getFirstPhysicalLine()` Returns the first visible physical line index.
`boolean` `getFocusCycleRoot()` Java 1.4 compatibility fix to make Tab traversal work in a sane manner.
`boolean` `getFocusTraversalKeysEnabled()` Java 1.4 compatibility fix to make Tab key work.
`FoldPainter` `getFoldPainter()`
`Gutter` `getGutter()` Returns the gutter to the left of the text area or null if the gutter is disabled
`int` `getHorizontalOffset()` Returns the horizontal offset of drawn lines.
`AbstractInputHandler` `getInputHandler()`
`java.awt.im.InputMethodRequests` `getInputMethodRequests()`
`boolean` `getJoinNonWordChars()` If set, double clicking will join non-word characters to form one "word".
`int` `getLastPhysicalLine()` Returns the last visible physical line index.
`int` `getLastScreenLine()` Returns the last screen line index, it is different from `getVisibleLines()` because the buffer can have less lines than the visible lines
`int` `getLineCount()` Returns the number of physical lines in the buffer.
`int` `getLineEndOffset(int line)` Returns the end offset of the specified line.
`int` `getLineLength(int line)` Returns the length of the specified line.
`int` `getLineOfOffset(int offset)` Returns the line containing the specified offset.
`int` `getLineStartOffset(int line)` Returns the start offset of the specified line.
`java.lang.String` `getLineText(int lineIndex)` Returns the text on the specified line.
`void` `getLineText(int lineIndex, javax.swing.text.Segment segment)` Copies the text on the specified line into a Segment.
`int` `getMagicCaretPosition()` Returns an internal position used to keep the caret in one column while moving around lines of varying lengths.
`int` `getMarkPosition()` Deprecated. Do not use.
`TextAreaPainter` `getPainter()` Returns the object responsible for painting this text area.
`int` `getPhysicalLineOfScreenLine(int screenLine)` Returns the physical line number that contains the specified screen line.
`javax.swing.JPopupMenu` `getRightClickPopup()` Returns the right click popup menu.
`int` `getScreenLineEndOffset(int line)` Returns the end offset of the specified screen (wrapped) line.
`int` `getScreenLineOfOffset(int offset)` Returns the screen (wrapped) line containing the specified offset.
`int` `getScreenLineStartOffset(int line)` Returns the start offset of the specified screen (wrapped) line.
`int[]` `getSelectedLines()` Returns a sorted array of line numbers on which a selection or selections are present.
`java.lang.String` `getSelectedText()` Returns the text in all active selections, with a newline between each text chunk.
`java.lang.String` `getSelectedText(Selection s)` Returns the text in the specified selection.
`java.lang.String` `getSelectedText(java.lang.String separator)` Returns the text in all active selections.
`Selection[]` `getSelection()` Returns the current selection.
`Selection` `getSelection(int index)` Returns the selection with the specified index.
`Selection` `getSelectionAtOffset(int offset)` Returns the selection containing the specific offset, or `null` if there is no selection at that offset.
`int` `getSelectionCount()` Returns the number of selections.
`java.util.Iterator<Selection>` `getSelectionIterator()` Returns the current selection.
`StructureMatcher.Match` `getStructureMatch()` Returns the structure element (bracket, or XML tag, etc) matching the one before the caret.
`javax.swing.text.TabExpander` `getTabExpander()`
`java.lang.String` `getText()` Returns the entire text of this text area.
`java.lang.String` `getText(int start, int len)` Returns the specified substring of the buffer.
`void` `getText(int start, int len, javax.swing.text.Segment segment)` Copies the specified substring of the buffer into a segment.
`int` `getVisibleLines()` Returns the number of lines visible in this text area.
`java.lang.CharSequence` `getVisibleLineSegment(int screenLine)` Returns the visible part of the given line in a CharSequence.
`java.lang.String` `getVisibleLineText(int screenLine)` Returns the visible part of the given line
`void` `getVisibleLineText(int screenLine, javax.swing.text.Segment segment)` Returns the visible part of the given line
`void` `goToBufferEnd(boolean select)` Moves the caret to the end of the buffer.
`void` `goToBufferStart(boolean select)` Moves the caret to the beginning of the buffer.
`void` `goToEndOfCode(boolean select)` Moves the caret to the end of the code present on the current line, before the comments and whitespace.
`void` `goToEndOfLine(boolean select)` Moves the caret to the end of the current line.
`void` `goToEndOfWhiteSpace(boolean select)` Moves the caret to the last non-whitespace character of the current line.
`void` `goToFirstVisibleLine(boolean select)` Moves the caret to the first visible line.
`void` `goToLastVisibleLine(boolean select)` Moves the caret to the last visible line.
`void` `goToMatchingBracket()` Moves the caret to the bracket matching the one before the caret.
`void` `goToNextBracket(boolean select)` Moves the caret to the next closing bracket.
`void` `goToNextCharacter(boolean select)` Moves the caret to the next character.
`void` `goToNextFold(boolean select)` Moves the caret to the next fold.
`void` `goToNextLine(boolean select)` Move the caret to the next line.
`void` `goToNextPage(boolean select)` Moves the caret to the next screenful.
`void` `goToNextParagraph(boolean select)` Moves the caret to the start of the next paragraph.
`void` `goToNextWord(boolean select)` Moves the caret to the start of the next word.
`void` `goToNextWord(boolean select, boolean eatWhitespace)` Moves the caret to the start of the next word.
`void` `goToParentFold()` Moves the caret to the fold containing the one at the caret position.
`void` `goToPrevBracket(boolean select)` Moves the caret to the previous bracket.
`void` `goToPrevCharacter(boolean select)` Moves the caret to the previous character.
`void` `goToPrevFold(boolean select)` Moves the caret to the previous fold.
`void` `goToPrevLine(boolean select)` Moves the caret to the previous line.
`void` `goToPrevPage(boolean select)` Moves the caret to the previous screenful.
`void` `goToPrevParagraph(boolean select)` Moves the caret to the start of the previous paragraph.
`void` `goToPrevWord(boolean select)` Moves the caret to the start of the previous word.
`void` `goToPrevWord(boolean select, boolean eatWhitespace)` Moves the caret to the start of the previous word.
`void` `goToPrevWord(boolean select, boolean eatWhitespace, boolean eatOnlyAfterWord)` Moves the caret to the start of the previous word.
`void` `goToStartOfLine(boolean select)` Moves the caret to the beginning of the current line.
`void` `goToStartOfWhiteSpace(boolean select)` Moves the caret to the first non-whitespace character of the current line.
`void` `handlePopupTrigger(java.awt.event.MouseEvent evt)` Do the same thing as right-clicking on the text area.
`void` `home(boolean select)` A "dumb home" action which only has 2 states: start of the whitespace or start of line
`void` `indentSelectedLines()` Indents all selected lines.
`void` `initInputHandler()` Creates an actionContext and initializes the input handler for this textarea.
`protected void` `insert(java.lang.String str, boolean indent)`
`void` `insertEnterAndIndent()`
`void` `insertTabAndIndent()`
`void` `invalidateLine(int line)` Marks a line as needing a repaint.
`void` `invalidateLineRange(int start, int end)` Marks a range of physical lines as needing a repaint.
`void` `invalidateScreenLineRange(int start, int end)` Marks a range of screen lines as needing a repaint.
`void` `invertSelection()` Inverts the selection.
`boolean` `isCaretBlinkEnabled()`
`boolean` `isCaretVisible()` Returns true if the caret is visible, false otherwise.
`boolean` `isCtrlForRectangularSelection()` If set, CTRL enables rectangular selection mode while pressed.
`boolean` `isDragEnabled()` Returns if drag and drop of text is enabled.
`boolean` `isEditable()` Returns true if this text area is editable, false otherwise.
`boolean` `isMultipleSelectionEnabled()` Returns if multiple selection is enabled.
`boolean` `isOverwriteEnabled()` Returns true if overwrite mode is enabled, false otherwise.
`boolean` `isQuickCopyEnabled()` Returns if clicking the middle mouse button pastes the most recent selection (% register), and if Control-dragging inserts the selection at the caret.
`boolean` `isRectangularSelectionEnabled()` Returns if rectangular selection is enabled.
`boolean` `isRightClickPopupEnabled()` Returns if the right click popup menu is enabled.
`void` `joinLines()` Joins the current and the next line, or joins all lines in selections.
`void` `lineComment()` Prepends each line of the selection with the line comment string.
`boolean` `lineInStructureScope(int line)` Returns if the specified line is contained in the currently matched structure's scope.
`void` `moveCaretPosition(int newCaret)` Sets the caret position without deactivating the selection.
`void` `moveCaretPosition(int newCaret, boolean doElectricScroll)` Sets the caret position without deactivating the selection.
`void` `moveCaretPosition(int newCaret, int scrollMode)` Sets the caret position without deactivating the selection.
`void` `narrowToFold()` Hides all lines except those in the fold containing the caret.
`void` `narrowToSelection()` Hides all lines except those in the selection.
`java.awt.Point` `offsetToXY(int offset)` Converts an offset into a point in the text area painter's co-ordinate space.
`java.awt.Point` `offsetToXY(int line, int offset)` Converts an offset into a point in the text area painter's co-ordinate space.
`java.awt.Point` `offsetToXY(int line, int offset, java.awt.Point retVal)` Converts a line,offset pair into an x,y (pixel) point relative to the upper left corner (0,0) of the text area.
`void` `processKeyEvent(java.awt.event.KeyEvent evt)`
`void` `propertiesChanged()` Called by jEdit when necessary.
`void` `rangeComment()` Adds comment start and end strings to the beginning and end of the selection.
`void` `removeCaretListener(javax.swing.event.CaretListener listener)` Removes a caret change listener from this text area.
`void` `removeFromSelection(int offset)` Deactivates the selection at the specified offset.
`void` `removeFromSelection(Selection sel)` Deactivates the specified selection.
`void` `removeLeftOfScrollBar(java.awt.Component comp)` Removes a component from the box left of the vertical scroll bar.
`void` `removeNotify()` Called by the AWT when this component is removed from it's parent.
`void` `removeScrollListener(ScrollListener listener)` Removes a scroll listener from this text area.
`void` `removeStatusListener(StatusListener listener)` Removes a scroll listener from this text area.
`void` `removeStructureMatcher(StructureMatcher matcher)` Removes a structure matcher.
`void` `removeTopComponent(java.awt.Component comp)` Removes a component from above the gutter, text area, and vertical scroll bar.
`void` `removeTrailingWhiteSpace()` Removes trailing whitespace from all lines in the selection.
`int` `replaceSelection(java.lang.String selectedText)` Set the selection, but does not deactivate it, and does not move the caret.
`void` `resizeSelection(int offset, int end, int extraEndVirt, boolean rect)` Resizes the selection at the specified offset, or creates a new one if there is no selection at the specified offset.
`void` `scrollAndCenterCaret()` Tries to scroll the textArea so that the caret is centered on the screen.
`void` `scrollDownLine()` Scrolls down by one line.
`void` `scrollDownPage()` Scrolls down by one page.
`void` `scrollTo(int offset, boolean doElectricScroll)` Ensures that the specified location in the buffer is visible.
`void` `scrollTo(int line, int offset, boolean doElectricScroll)` Ensures that the specified location in the buffer is visible.
`void` `scrollToCaret(boolean doElectricScroll)` Ensures that the caret is visible by scrolling the text area if necessary.
`void` `scrollUpLine()` Scrolls up by one line.
`void` `scrollUpPage()` Scrolls up by one page.
`void` `selectAll()` Selects all text in the buffer.
`void` `selectBlock()` Selects the code block surrounding the caret.
`void` `selectFold()` Selects the fold that contains the caret line number.
`void` `selectFold(int line)` Selects the fold that contains the specified line number.
`void` `selectLine()` Selects the current line.
`void` `selectNone()` Deselects everything.
`void` `selectParagraph()` Selects the paragraph at the caret position.
`void` `selectToMatchingBracket()` Selects from the bracket at the caret position to the corresponding bracket.
`Selection` `selectToMatchingBracket(int position, boolean quickCopy)` Selects from the bracket at the specified position to the corresponding bracket.
`void` `selectWord()` Selects the word at the caret position.
`void` `setBuffer(JEditBuffer buffer)` Sets the buffer this text area is editing.
`void` `setCaretBlinkEnabled(boolean caretBlinks)` Toggles caret blinking.
`void` `setCaretPosition(int newCaret)` Sets the caret position and deactivates the selection.
`void` `setCaretPosition(int newCaret, boolean doElectricScroll)` Sets the caret position and deactivates the selection.
`void` `setCtrlForRectangularSelection(boolean ctrlForRectangularSelection)` If set, CTRL enables rectangular selection mode while pressed.
`void` `setDragEnabled(boolean dndEnabled)` Sets if drag and drop of text is enabled.
`void` `setElectricScroll(int electricScroll)` Sets the number of lines from the top and bottom of the text area that are always visible
`void` `setFirstLine(int firstLine)` Sets the vertical scroll bar position
`void` `setFirstPhysicalLine(int physFirstLine)` Sets the vertical scroll bar position.
`void` `setFirstPhysicalLine(int physFirstLine, int skew)` Sets the vertical scroll bar position.
`void` `setHorizontalOffset(int horizontalOffset)` Sets the horizontal offset of drawn lines.
`void` `setJoinNonWordChars(boolean joinNonWordChars)` If set, double clicking will join non-word characters to form one "word".
`void` `setMagicCaretPosition(int magicCaret)` Sets the `magic' caret position.
`void` `setMouseHandler(javax.swing.event.MouseInputAdapter mouseInputAdapter)`
`void` `setMultipleSelectionEnabled(boolean multi)` Set multiple selection on or off according to the value of `multi`.
`void` `setOverwriteEnabled(boolean overwrite)` Sets overwrite mode.
`void` `setQuickCopyEnabled(boolean quickCopy)` Sets if clicking the middle mouse button pastes the most recent selection (% register), and if Control-dragging inserts the selection at the caret.
`void` `setRectangularSelectionEnabled(boolean rectangularSelectionMode)` Set rectangular selection on or off according to the value of `rectangularSelectionMode`.
`void` `setRightClickPopup(javax.swing.JPopupMenu popup)` Sets the right click popup menu.
`void` `setRightClickPopupEnabled(boolean popupEnabled)` Sets if the right click popup menu is enabled.
`void` `setSelectedText(Selection s, java.lang.String selectedText)` Replaces the selection with the specified text.
`void` `setSelectedText(java.lang.String selectedText)` Replaces the selection at the caret with the specified text.
`void` `setSelectedText(java.lang.String selectedText, boolean moveCaret)` Replaces the selection at the caret with the specified text.
`void` `setSelection(Selection selection)` Sets the selection.
`void` `setSelection(Selection[] selection)` Sets the selection.
`void` `setText(java.lang.String text)` Sets the entire text of this text area.
`void` `setTransferHandler(javax.swing.TransferHandler newHandler)`
`void` `shiftIndentLeft()` Shifts the indent to the left.
`void` `shiftIndentRight()` Shifts the indent to the right.
`void` `showPopupMenu()` Shows the popup menu below the current caret position.
`static void` `showPopupMenu(javax.swing.JPopupMenu popup, java.awt.Component comp, int x, int y, boolean point)` Shows the specified popup menu, ensuring it is displayed within the bounds of the screen.
`void` `smartEnd(boolean select)` Has 4 states based on # of invocations: 1.
`void` `smartHome(boolean select)` On subsequent invocations, first moves the caret to the first non-whitespace character of the line, then the beginning of the line, then to the first visible line.
`void` `spacesToTabs()` Converts spaces to tabs in the selection.
`void` `tabsToSpaces()` Converts tabs to spaces in the selection.
`void` `toggleMultipleSelectionEnabled()` Toggles multiple selection.
`void` `toggleOverwriteEnabled()` Toggles overwrite mode.
`void` `toggleRectangularSelectionEnabled()` Toggles rectangular selection.
`void` `toLowerCase()` Converts the selected text to lower case.
`java.lang.String` `toString()`
`void` `toUpperCase()` Converts the selected text to upper case.
`void` `turnOnElasticTabstops()` Turn ON elastic tab stops.
`void` `userInput(char ch)` Handles the insertion of the specified character.
`protected void` `userInputTab()`
`int` `xToScreenLineOffset(int screenLine, int x, boolean round)` Converts a point in a given screen line to an offset.
`int` `xyToOffset(int x, int y)` Converts a point to an offset.
`int` `xyToOffset(int x, int y, boolean round)` Converts a point to an offset.

### Methods inherited from class javax.swing.JComponent

`addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI`

### Methods inherited from class java.awt.Container

`add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree`

### Methods inherited from class java.awt.Component

`action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### NO_SCROLL

    public static final int NO_SCROLL

See Also:
  Constant Field Values

#### NORMAL_SCROLL

    public static final int NORMAL_SCROLL

See Also:
  Constant Field Values

#### ELECTRIC_SCROLL

    public static final int ELECTRIC_SCROLL

See Also:
  Constant Field Values

#### popup

    protected javax.swing.JPopupMenu popup

#### painter

    protected final TextAreaPainter painter

#### inputHandlerProvider

    protected InputHandlerProvider inputHandlerProvider

#### buffer

    protected JEditBuffer buffer

#### caret

    protected int caret

#### caretLine

    protected int caretLine

#### multi

    protected boolean multi

Flag that tells if multiple selection is on.

### Constructor Detail

#### TextArea

    protected TextArea(IPropertyManager propertyManager,
            InputHandlerProvider inputHandlerProvider)

Creates a new JEditTextArea.

Parameters:
  `propertyManager` - the property manager that contains informations like shortcut bindings
  `inputHandlerProvider` - the inputHandlerProvider

### Method Detail

#### getFoldPainter

    public FoldPainter getFoldPainter()

#### initInputHandler

    public void initInputHandler()

Creates an actionContext and initializes the input handler for this textarea. Called when creating a standalone textarea from within jEdit.

#### getActionContext

    public JEditActionContext<JEditBeanShellAction,JEditActionSet<JEditBeanShellAction>> getActionContext()

#### setMouseHandler

    public void setMouseHandler(javax.swing.event.MouseInputAdapter mouseInputAdapter)

#### setTransferHandler

    public void setTransferHandler(javax.swing.TransferHandler newHandler)

Overrides:
  `setTransferHandler` in class `javax.swing.JComponent`

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.awt.Component`

#### dispose

    public void dispose()

Plugins and macros should not call this method.

Since:
  jEdit 4.2pre1

#### getInputHandler

    public AbstractInputHandler getInputHandler()

Since:
  jEdit 4.3pre1

#### getPainter

    public final TextAreaPainter getPainter()

Returns the object responsible for painting this text area.

#### getGutter

    public final Gutter getGutter()

Returns the gutter to the left of the text area or null if the gutter is disabled

#### getDisplayManager

    public DisplayManager getDisplayManager()

Returns:
  the display manager used by this text area.
Since:
  jEdit 4.2pre1

#### isCaretBlinkEnabled

    public final boolean isCaretBlinkEnabled()

Returns:
  true if the caret is blinking, false otherwise.

#### setCaretBlinkEnabled

    public void setCaretBlinkEnabled(boolean caretBlinks)

Toggles caret blinking.

Parameters:
  `caretBlinks` - True if the caret should blink, false otherwise

#### getElectricScroll

    public final int getElectricScroll()

Returns:
  the minimum distance (in number of lines) from the caret to the nearest edge of the screen (top or bottom edge).

#### setElectricScroll

    public final void setElectricScroll(int electricScroll)

Sets the number of lines from the top and bottom of the text area that are always visible

Parameters:
  `electricScroll` - The number of lines always visible from the top or bottom

#### isQuickCopyEnabled

    public final boolean isQuickCopyEnabled()

Returns if clicking the middle mouse button pastes the most recent selection (% register), and if Control-dragging inserts the selection at the caret.

#### setQuickCopyEnabled

    public final void setQuickCopyEnabled(boolean quickCopy)

Sets if clicking the middle mouse button pastes the most recent selection (% register), and if Control-dragging inserts the selection at the caret.

Parameters:
  `quickCopy` - A boolean flag

#### getBuffer

    public final JEditBuffer getBuffer()

Returns the buffer this text area is editing.

Since:
  jedit 4.3pre3 Prior to 4.3pre3, this function returned a "Buffer" type. If this causes your code to break, try calling view.getBuffer() instead of view.getTextArea().getBuffer().

#### setBuffer

    public void setBuffer(JEditBuffer buffer)

Sets the buffer this text area is editing. If you don't run a standalone textarea in jEdit please do not call this method - use `EditPane.setBuffer(org.gjt.sp.jedit.Buffer)` instead.

Parameters:
  `buffer` - The buffer

#### isEditable

    public final boolean isEditable()

Returns true if this text area is editable, false otherwise.

#### isDragEnabled

    public boolean isDragEnabled()

Returns if drag and drop of text is enabled.

Since:
  jEdit 4.2pre5

#### setDragEnabled

    public void setDragEnabled(boolean dndEnabled)

Sets if drag and drop of text is enabled.

Since:
  jEdit 4.2pre5

#### getJoinNonWordChars

    public boolean getJoinNonWordChars()

If set, double clicking will join non-word characters to form one "word".

Since:
  jEdit 4.3pre2

#### setJoinNonWordChars

    public void setJoinNonWordChars(boolean joinNonWordChars)

If set, double clicking will join non-word characters to form one "word".

Since:
  jEdit 4.3pre2

#### isCtrlForRectangularSelection

    public boolean isCtrlForRectangularSelection()

If set, CTRL enables rectangular selection mode while pressed.

Since:
  jEdit 4.3pre10

#### setCtrlForRectangularSelection

    public void setCtrlForRectangularSelection(boolean ctrlForRectangularSelection)

If set, CTRL enables rectangular selection mode while pressed.

Since:
  jEdit 4.3pre10

#### getFirstLine

    public final int getFirstLine()

Returns the vertical scroll bar position.

Since:
  jEdit 4.2pre1

#### setFirstLine

    public void setFirstLine(int firstLine)

Sets the vertical scroll bar position

Parameters:
  `firstLine` - The scroll bar position

#### getFirstPhysicalLine

    public final int getFirstPhysicalLine()

Returns the first visible physical line index.

Since:
  jEdit 4.0pre4

#### setFirstPhysicalLine

    public void setFirstPhysicalLine(int physFirstLine)

Sets the vertical scroll bar position.

Parameters:
  `physFirstLine` - The first physical line to display
Since:
  jEdit 4.2pre1

#### setFirstPhysicalLine

    public void setFirstPhysicalLine(int physFirstLine,
                            int skew)

Sets the vertical scroll bar position.

Parameters:
  `physFirstLine` - The first physical line to display
  `skew` - A local screen line delta
Since:
  jEdit 4.2pre1

#### getLastPhysicalLine

    public final int getLastPhysicalLine()

Returns the last visible physical line index.

Since:
  jEdit 4.0pre4

#### getLastScreenLine

    public int getLastScreenLine()

Returns the last screen line index, it is different from `getVisibleLines()` because the buffer can have less lines than the visible lines

Returns:
  the last screen line index.
Since:
  jEdit 4.3pre1

#### getVisibleLines

    public final int getVisibleLines()

Returns the number of lines visible in this text area.

Returns:
  the number of visible lines in the textarea

#### getHorizontalOffset

    public final int getHorizontalOffset()

Returns the horizontal offset of drawn lines.

#### setHorizontalOffset

    public void setHorizontalOffset(int horizontalOffset)

Sets the horizontal offset of drawn lines. This can be used to implement horizontal scrolling.

Parameters:
  `horizontalOffset` - offset The new horizontal offset

#### scrollUpLine

    public void scrollUpLine()

Scrolls up by one line.

Since:
  jEdit 2.7pre2

#### scrollUpPage

    public void scrollUpPage()

Scrolls up by one page.

Since:
  jEdit 2.7pre2

#### scrollDownLine

    public void scrollDownLine()

Scrolls down by one line.

Since:
  jEdit 2.7pre2

#### scrollDownPage

    public void scrollDownPage()

Scrolls down by one page.

Since:
  jEdit 2.7pre2

#### scrollToCaret

    public void scrollToCaret(boolean doElectricScroll)

Ensures that the caret is visible by scrolling the text area if necessary.

Parameters:
  `doElectricScroll` - If true, electric scrolling will be performed

#### scrollTo

    public void scrollTo(int offset,
                boolean doElectricScroll)

Ensures that the specified location in the buffer is visible.

Parameters:
  `offset` - The offset from the start of the buffer
  `doElectricScroll` - If true, electric scrolling will be performed
Since:
  jEdit 4.2pre3

#### scrollTo

    public void scrollTo(int line,
                int offset,
                boolean doElectricScroll)

Ensures that the specified location in the buffer is visible.

Parameters:
  `line` - The line number
  `offset` - The offset from the start of the line
  `doElectricScroll` - If true, electric scrolling will be performed
Since:
  jEdit 4.0pre6

#### addScrollListener

    public final void addScrollListener(ScrollListener listener)

Adds a scroll listener to this text area.

Parameters:
  `listener` - The listener
Since:
  jEdit 3.2pre2

#### removeScrollListener

    public final void removeScrollListener(ScrollListener listener)

Removes a scroll listener from this text area.

Parameters:
  `listener` - The listener
Since:
  jEdit 3.2pre2

#### getPhysicalLineOfScreenLine

    public int getPhysicalLineOfScreenLine(int screenLine)

Returns the physical line number that contains the specified screen line.

Parameters:
  `screenLine` - The screen line
Since:
  jEdit 4.0pre6

#### getScreenLineOfOffset

    public int getScreenLineOfOffset(int offset)

Returns the screen (wrapped) line containing the specified offset. Returns -1 if the line is not currently visible on the screen.

Parameters:
  `offset` - The offset
Since:
  jEdit 4.0pre4

#### getScreenLineStartOffset

    public int getScreenLineStartOffset(int line)

Returns the start offset of the specified screen (wrapped) line.

Parameters:
  `line` - The line
Since:
  jEdit 4.0pre4

#### getScreenLineEndOffset

    public int getScreenLineEndOffset(int line)

Returns the end offset of the specified screen (wrapped) line.

Parameters:
  `line` - The line
Since:
  jEdit 4.0pre4

#### xyToOffset

    public int xyToOffset(int x,
                 int y)

Converts a point to an offset. Note that unlike in previous jEdit versions, this method now returns -1 if the y co-ordinate is out of bounds.

Parameters:
  `x` - The x co-ordinate of the point
  `y` - The y co-ordinate of the point

#### xyToOffset

    public int xyToOffset(int x,
                 int y,
                 boolean round)

Converts a point to an offset. Note that unlike in previous jEdit versions, this method now returns -1 if the y co-ordinate is out of bounds.

Parameters:
  `x` - The x co-ordinate of the point
  `y` - The y co-ordinate of the point
  `round` - Round up to next character if past the middle of a character?
Since:
  jEdit 3.2pre6

#### xToScreenLineOffset

    public int xToScreenLineOffset(int screenLine,
                          int x,
                          boolean round)

Converts a point in a given screen line to an offset.

Parameters:
  `x` - The x co-ordinate of the point
  `screenLine` - The screen line
  `round` - Round up to next character if past the middle of a character?
Since:
  jEdit 3.2pre6

#### offsetToXY

    public java.awt.Point offsetToXY(int offset)

Converts an offset into a point in the text area painter's co-ordinate space.

Parameters:
  `offset` - The offset
Returns:
  The location of the offset on screen, or `null` if the specified offset is not visible

#### offsetToXY

    public java.awt.Point offsetToXY(int line,
                            int offset)

Converts an offset into a point in the text area painter's co-ordinate space.

Parameters:
  `line` - The line
  `offset` - The offset
Returns:
  The location of the offset on screen, or `null` if the specified offset is not visible

#### offsetToXY

    public java.awt.Point offsetToXY(int line,
                            int offset,
                            java.awt.Point retVal)

Converts a line,offset pair into an x,y (pixel) point relative to the upper left corner (0,0) of the text area.

Parameters:
  `line` - The physical line number (from top of document)
  `offset` - The offset in characters, from the start of the line
  `retVal` - The point to store the return value in
Returns:
  `retVal` for convenience, or `null` if the specified offset is not visible
Since:
  jEdit 4.0pre4

#### invalidateScreenLineRange

    public void invalidateScreenLineRange(int start,
                                 int end)

Marks a range of screen lines as needing a repaint.

Parameters:
  `start` - The first line
  `end` - The last line
Since:
  jEdit 4.0pre4

#### invalidateLine

    public void invalidateLine(int line)

Marks a line as needing a repaint.

Parameters:
  `line` - The physical line to invalidate

#### invalidateLineRange

    public void invalidateLineRange(int start,
                           int end)

Marks a range of physical lines as needing a repaint.

Parameters:
  `start` - The first line to invalidate
  `end` - The last line to invalidate

#### getBufferLength

    public final int getBufferLength()

Returns the length of the buffer.

#### getLineCount

    public final int getLineCount()

Returns the number of physical lines in the buffer.

#### getLineOfOffset

    public final int getLineOfOffset(int offset)

Returns the line containing the specified offset.

Parameters:
  `offset` - The offset

#### getLineStartOffset

    public int getLineStartOffset(int line)

Returns the start offset of the specified line.

Parameters:
  `line` - The line (physical line)
Returns:
  The start offset of the specified line, or -1 if the line is invalid

#### getLineEndOffset

    public int getLineEndOffset(int line)

Returns the end offset of the specified line.

Parameters:
  `line` - The line (physical line)
Returns:
  The end offset of the specified line, or -1 if the line is invalid.

#### getLineLength

    public int getLineLength(int line)

Returns the length of the specified line.

Parameters:
  `line` - The line

#### getText

    public final java.lang.String getText(int start,
                           int len)

Returns the specified substring of the buffer.

Parameters:
  `start` - The start offset
  `len` - The length of the substring
Returns:
  The substring

#### getText

    public final void getText(int start,
               int len,
               javax.swing.text.Segment segment)

Copies the specified substring of the buffer into a segment.

Parameters:
  `start` - The start offset
  `len` - The length of the substring
  `segment` - The segment

#### getText

    public java.lang.String getText()

Returns the entire text of this text area.

#### getLineText

    public final java.lang.String getLineText(int lineIndex)

Returns the text on the specified line.

Parameters:
  `lineIndex` - the line number
Returns:
  The text, or null if the lineIndex is invalid

#### getLineText

    public final void getLineText(int lineIndex,
                   javax.swing.text.Segment segment)

Copies the text on the specified line into a Segment. If lineIndex is invalid, the segment will contain a null string.

Parameters:
  `lineIndex` - The line number (physical line)
  `segment` - the segment into which the data will be stored.

#### getVisibleLineText

    public java.lang.String getVisibleLineText(int screenLine)

Returns the visible part of the given line

Parameters:
  `screenLine` - the screenLine
Returns:
  the visible text
Since:
  4.5pre1

#### getVisibleLineText

    public void getVisibleLineText(int screenLine,
                          javax.swing.text.Segment segment)

Returns the visible part of the given line

Parameters:
  `screenLine` - the screenLine
  `segment` - the segment into which the data will be stored.
Since:
  4.5pre1

#### getVisibleLineSegment

    public java.lang.CharSequence getVisibleLineSegment(int screenLine)

Returns the visible part of the given line in a CharSequence. The buffer data are not copied. so this should be used in EDT thread

Parameters:
  `screenLine` - the screenLine
Returns:
  the visible text
Since:
  4.5pre1

#### setText

    public void setText(java.lang.String text)

Sets the entire text of this text area.

Parameters:
  `text` - the new content of the buffer

#### selectAll

    public final void selectAll()

Selects all text in the buffer. Preserves the scroll position.

#### selectLine

    public void selectLine()

Selects the current line.

Since:
  jEdit 2.7pre2

#### selectParagraph

    public void selectParagraph()

Selects the paragraph at the caret position.

Since:
  jEdit 2.7pre2

#### selectWord

    public void selectWord()

Selects the word at the caret position.

Since:
  jEdit 2.7pre2

#### selectToMatchingBracket

    public Selection selectToMatchingBracket(int position,
                                    boolean quickCopy)

Selects from the bracket at the specified position to the corresponding bracket.

Since:
  jEdit 4.2pre1

#### selectToMatchingBracket

    public void selectToMatchingBracket()

Selects from the bracket at the caret position to the corresponding bracket.

Since:
  jEdit 4.0pre2

#### selectBlock

    public void selectBlock()

Selects the code block surrounding the caret.

Since:
  jEdit 2.7pre2

#### lineInStructureScope

    public boolean lineInStructureScope(int line)

Returns if the specified line is contained in the currently matched structure's scope.

Since:
  jEdit 4.2pre3

#### invertSelection

    public final void invertSelection()

Inverts the selection.

Since:
  jEdit 4.0pre1

#### getSelectionCount

    public int getSelectionCount()

Returns the number of selections. This can be used to test for the existence of selections.

Since:
  jEdit 3.2pre2

#### getSelection

    @Nonnull
    public Selection[] getSelection()

Returns the current selection.

Since:
  jEdit 3.2pre1

#### getSelection

    public Selection getSelection(int index)

Returns the selection with the specified index. This must be between 0 and the return value of `getSelectionCount()`.

Parameters:
  `index` - the index of the selection you want
Since:
  jEdit 4.3pre1

#### getSelectionIterator

    public java.util.Iterator<Selection> getSelectionIterator()

Returns the current selection.

Since:
  jEdit 4.3pre1

#### selectNone

    public void selectNone()

Deselects everything.

#### setSelection

    public void setSelection(Selection[] selection)

Sets the selection. Nested and overlapping selections are merged where possible. Null elements of the array are ignored.

Parameters:
  `selection` - The new selection since jEdit 3.2pre1

#### setSelection

    public void setSelection(Selection selection)

Sets the selection. Nested and overlapping selections are merged where possible.

Parameters:
  `selection` - The new selection since jEdit 3.2pre1

#### addToSelection

    public void addToSelection(Selection[] selection)

Adds to the selection. Nested and overlapping selections are merged where possible.

Parameters:
  `selection` - The new selection since jEdit 3.2pre1

#### addToSelection

    public void addToSelection(Selection selection)

Adds to the selection. Nested and overlapping selections are merged where possible.

Parameters:
  `selection` - The new selection since jEdit 3.2pre1

#### getSelectionAtOffset

    public Selection getSelectionAtOffset(int offset)

Returns the selection containing the specific offset, or `null` if there is no selection at that offset.

Parameters:
  `offset` - The offset
Since:
  jEdit 3.2pre1

#### removeFromSelection

    public void removeFromSelection(Selection sel)

Deactivates the specified selection.

Parameters:
  `sel` - The selection
Since:
  jEdit 3.2pre1

#### removeFromSelection

    public void removeFromSelection(int offset)

Deactivates the selection at the specified offset. If there is no selection at that offset, does nothing.

Parameters:
  `offset` - The offset
Since:
  jEdit 3.2pre1

#### resizeSelection

    public void resizeSelection(int offset,
                       int end,
                       int extraEndVirt,
                       boolean rect)

Resizes the selection at the specified offset, or creates a new one if there is no selection at the specified offset. This is a utility method that is mainly useful in the mouse event handler because it handles the case of end being before offset gracefully (unlike the rest of the selection API).

Parameters:
  `offset` - The offset
  `end` - The new selection end
  `extraEndVirt` - Only for rectangular selections - specifies how far it extends into virtual space.
  `rect` - Make the selection rectangular?
Since:
  jEdit 3.2pre1

#### extendSelection

    public void extendSelection(int offset,
                       int end)

Extends the selection at the specified offset, or creates a new one if there is no selection at the specified offset. This is different from resizing in that the new chunk is added to the selection in question, instead of replacing it.

Parameters:
  `offset` - The offset
  `end` - The new selection end
Since:
  jEdit 3.2pre1

#### extendSelection

    public void extendSelection(int offset,
                       int end,
                       int extraStartVirt,
                       int extraEndVirt)

Extends the selection at the specified offset, or creates a new one if there is no selection at the specified offset. This is different from resizing in that the new chunk is added to the selection in question, instead of replacing it.

Parameters:
  `offset` - The offset
  `end` - The new selection end
  `extraStartVirt` - Extra virtual space at the start
  `extraEndVirt` - Extra virtual space at the end
Since:
  jEdit 4.2pre1

#### getSelectedText

    public java.lang.String getSelectedText(Selection s)

Returns the text in the specified selection.

Parameters:
  `s` - The selection
Since:
  jEdit 3.2pre1

#### getSelectedText

    public java.lang.String getSelectedText(java.lang.String separator)

Returns the text in all active selections.

Parameters:
  `separator` - The string to insert between each text chunk (for example, a newline)
Since:
  jEdit 3.2pre1

#### getSelectedText

    public java.lang.String getSelectedText()

Returns the text in all active selections, with a newline between each text chunk.

#### setSelectedText

    public void setSelectedText(Selection s,
                       java.lang.String selectedText)

Replaces the selection with the specified text.

Parameters:
  `s` - The selection
  `selectedText` - The new text
Since:
  jEdit 3.2pre1

#### setSelectedText

    public void setSelectedText(java.lang.String selectedText)

Replaces the selection at the caret with the specified text. If there is no selection at the caret, the text is inserted at the caret position.

#### setSelectedText

    public void setSelectedText(java.lang.String selectedText,
                       boolean moveCaret)

Replaces the selection at the caret with the specified text. If there is no selection at the caret, the text is inserted at the caret position.

Parameters:
  `selectedText` - The new selection
  `moveCaret` - Move caret to insertion location if necessary
Since:
  jEdit 4.2pre5

#### replaceSelection

    public int replaceSelection(java.lang.String selectedText)

Set the selection, but does not deactivate it, and does not move the caret. Please use `setSelectedText(String)` instead.

Parameters:
  `selectedText` - The new selection
Returns:
  The new caret position
Since:
  4.3pre1

#### getSelectedLines

    public int[] getSelectedLines()

Returns a sorted array of line numbers on which a selection or selections are present.

This method is the most convenient way to iterate through selected lines in a buffer. The line numbers in the array returned by this method can be passed as a parameter to such methods as `JEditBuffer.getLineText(int)`.

Returns:
  Non-null, non-zero sized array of line indexes.
Since:
  jEdit 3.2pre1

#### caretAutoScroll

    public boolean caretAutoScroll()

Return if change in buffer should scroll this text area.

Since:
  jEdit 4.3pre2

#### addStructureMatcher

    public void addStructureMatcher(StructureMatcher matcher)

Adds a structure matcher.

Since:
  jEdit 4.2pre3

#### removeStructureMatcher

    public void removeStructureMatcher(StructureMatcher matcher)

Removes a structure matcher.

Since:
  jEdit 4.2pre3

#### getStructureMatch

    public StructureMatcher.Match getStructureMatch()

Returns the structure element (bracket, or XML tag, etc) matching the one before the caret.

Since:
  jEdit 4.2pre3

#### blinkCaret

    public final void blinkCaret()

Blinks the caret.

#### centerCaret

    public void centerCaret()

Centers the caret on the screen.

Since:
  jEdit 2.7pre2

#### scrollAndCenterCaret

    public void scrollAndCenterCaret()

Tries to scroll the textArea so that the caret is centered on the screen. Sometimes gets confused by folds but at least makes the caret visible and guesses better on subsequent attempts.

Since:
  jEdit 4.3pre15

#### setCaretPosition

    public void setCaretPosition(int newCaret)

Sets the caret position and deactivates the selection.

Parameters:
  `newCaret` - The caret position

#### setCaretPosition

    public void setCaretPosition(int newCaret,
                        boolean doElectricScroll)

Sets the caret position and deactivates the selection.

Parameters:
  `newCaret` - The caret position
  `doElectricScroll` - Do electric scrolling?

#### moveCaretPosition

    public void moveCaretPosition(int newCaret)

Sets the caret position without deactivating the selection.

Parameters:
  `newCaret` - The caret position

#### moveCaretPosition

    public void moveCaretPosition(int newCaret,
                         boolean doElectricScroll)

Sets the caret position without deactivating the selection.

Parameters:
  `newCaret` - The caret position
  `doElectricScroll` - Do electric scrolling?

#### moveCaretPosition

    public void moveCaretPosition(int newCaret,
                         int scrollMode)

Sets the caret position without deactivating the selection.

Parameters:
  `newCaret` - The caret position
  `scrollMode` - The scroll mode (NO_SCROLL, NORMAL_SCROLL, or ELECTRIC_SCROLL).
Since:
  jEdit 4.2pre1

#### getCaretPosition

    public int getCaretPosition()

Returns a zero-based index of the caret position.

#### getCaretLine

    public int getCaretLine()

Returns the line number containing the caret.

#### getMagicCaretPosition

    public int getMagicCaretPosition()

Returns an internal position used to keep the caret in one column while moving around lines of varying lengths.

Since:
  jEdit 4.2pre1

#### setMagicCaretPosition

    public void setMagicCaretPosition(int magicCaret)

Sets the `magic' caret position. This can be used to preserve the column position when moving up and down lines.

Parameters:
  `magicCaret` - The magic caret position
Since:
  jEdit 4.2pre1

#### addCaretListener

    public final void addCaretListener(javax.swing.event.CaretListener listener)

Adds a caret change listener to this text area.

Parameters:
  `listener` - The listener

#### removeCaretListener

    public final void removeCaretListener(javax.swing.event.CaretListener listener)

Removes a caret change listener from this text area.

Parameters:
  `listener` - The listener

#### goToNextBracket

    public void goToNextBracket(boolean select)

Moves the caret to the next closing bracket.

Parameters:
  `select` - true if you want to extend selection
Since:
  jEdit 2.7pre2.

#### goToNextCharacter

    public void goToNextCharacter(boolean select)

Moves the caret to the next character.

Parameters:
  `select` - true if you want to extend selection
Since:
  jEdit 2.7pre2.

#### goToNextLine

    public void goToNextLine(boolean select)

Move the caret to the next line.

Parameters:
  `select` - true if you want to extend selection
Since:
  jEdit 2.7pre2

#### goToNextPage

    public void goToNextPage(boolean select)

Moves the caret to the next screenful.

Parameters:
  `select` - true if you want to extend selection
Since:
  jEdit 2.7pre2.

#### goToNextParagraph

    public void goToNextParagraph(boolean select)

Moves the caret to the start of the next paragraph.

Parameters:
  `select` - true if you want to extend selection
Since:
  jEdit 2.7pre2

#### goToNextWord

    public void goToNextWord(boolean select)

Moves the caret to the start of the next word. Note that if the "view.eatWhitespace" boolean propery is false, this method moves the caret to the end of the current word instead.

Parameters:
  `select` - true if you want to extend selection
Since:
  jEdit 2.7pre2

#### goToNextWord

    public void goToNextWord(boolean select,
                    boolean eatWhitespace)

Moves the caret to the start of the next word.

Since:
  jEdit 4.1pre5

#### goToPrevBracket

    public void goToPrevBracket(boolean select)

Moves the caret to the previous bracket.

Parameters:
  `select` - true if you want to extend selection
Since:
  jEdit 2.7pre2

#### goToPrevCharacter

    public void goToPrevCharacter(boolean select)

Moves the caret to the previous character.

Parameters:
  `select` - true if you want to extend selection
Since:
  jEdit 2.7pre2.

#### goToPrevLine

    public void goToPrevLine(boolean select)

Moves the caret to the previous line.

Parameters:
  `select` - true if you want to extend selection
Since:
  jEdit 2.7pre2

#### goToPrevPage

    public void goToPrevPage(boolean select)

Moves the caret to the previous screenful.

Parameters:
  `select` - true if you want to extend selection
Since:
  jEdit 2.7pre2

#### goToPrevParagraph

    public void goToPrevParagraph(boolean select)

Moves the caret to the start of the previous paragraph.

Parameters:
  `select` - true if you want to extend selection
Since:
  jEdit 2.7pre2

#### goToPrevWord

    public void goToPrevWord(boolean select)

Moves the caret to the start of the previous word.

Parameters:
  `select` - true if you want to extend selection
Since:
  jEdit 2.7pre2

#### goToPrevWord

    public void goToPrevWord(boolean select,
                    boolean eatWhitespace)

Moves the caret to the start of the previous word.

Parameters:
  `eatWhitespace` - If true, will eat whitespace
Since:
  jEdit 4.1pre5

#### goToPrevWord

    public void goToPrevWord(boolean select,
                    boolean eatWhitespace,
                    boolean eatOnlyAfterWord)

Moves the caret to the start of the previous word.

Parameters:
  `eatWhitespace` - If true, will eat whitespace
  `eatOnlyAfterWord` - Eat only whitespace after a word, in effect this goes to actual word starts even if eating
Since:
  jEdit 4.4pre1

#### home

    public void home(boolean select)

A "dumb home" action which only has 2 states: start of the whitespace or start of line

Parameters:
  `select` - true if we also want to select from the cursor
Since:
  jedit 4.3pre18

#### end

    public void end(boolean select)

a dumb end action which only has 2 states: end of whitespace or end of line

Parameters:
  `select` - true if we also want to select from the cursor
Since:
  jedit 4.3pre18

#### smartHome

    public void smartHome(boolean select)

On subsequent invocations, first moves the caret to the first non-whitespace character of the line, then the beginning of the line, then to the first visible line.

Parameters:
  `select` - true if you want to extend selection
Since:
  jEdit 4.3pre7

#### smartEnd

    public void smartEnd(boolean select)

Has 4 states based on # of invocations: 1. last character of code (before inline comment) 2. last non whitespace character of the line 3. end of line 4. end of last visible line

Parameters:
  `select` - true if you want to extend selection
Since:
  jEdit 4.3pre18

#### goToStartOfLine

    public void goToStartOfLine(boolean select)

Moves the caret to the beginning of the current line.

Parameters:
  `select` - true if you want to extend selection
Since:
  jEdit 2.7pre2

#### goToEndOfLine

    public void goToEndOfLine(boolean select)

Moves the caret to the end of the current line.

Parameters:
  `select` - true if you want to extend selection
Since:
  jEdit 2.7pre2

#### goToEndOfCode

    public void goToEndOfCode(boolean select)

Moves the caret to the end of the code present on the current line, before the comments and whitespace.

Parameters:
  `select` - true if you want to extend selection
Since:
  jEdit 4.3pre18

#### goToStartOfWhiteSpace

    public void goToStartOfWhiteSpace(boolean select)

Moves the caret to the first non-whitespace character of the current line.

Parameters:
  `select` - true if you want to extend selection
Since:
  jEdit 2.7pre2

#### goToEndOfWhiteSpace

    public void goToEndOfWhiteSpace(boolean select)

Moves the caret to the last non-whitespace character of the current line.

Parameters:
  `select` - true if you want to extend selection
Since:
  jEdit 2.7pre2

#### goToFirstVisibleLine

    public void goToFirstVisibleLine(boolean select)

Moves the caret to the first visible line.

Parameters:
  `select` - true if you want to extend selection
Since:
  jEdit 2.7pre2

#### goToLastVisibleLine

    public void goToLastVisibleLine(boolean select)

Moves the caret to the last visible line.

Parameters:
  `select` - true if you want to extend selection
Since:
  jEdit 2.7pre2

#### goToBufferStart

    public void goToBufferStart(boolean select)

Moves the caret to the beginning of the buffer.

Parameters:
  `select` - true if you want to extend selection
Since:
  jEdit 4.0pre3

#### goToBufferEnd

    public void goToBufferEnd(boolean select)

Moves the caret to the end of the buffer.

Parameters:
  `select` - true if you want to extend selection
Since:
  jEdit 4.0pre3

#### goToMatchingBracket

    public void goToMatchingBracket()

Moves the caret to the bracket matching the one before the caret.

Since:
  jEdit 2.7pre3

#### userInput

    public void userInput(char ch)

Handles the insertion of the specified character. It performs the following operations above and beyond simply inserting the text:

- Inserting a TAB with a selection will shift to the right
- Inserting a BACK_SPACE or a DELETE will remove a character
- Inserting an indent open/close bracket will re-indent the current line as necessary

Parameters:
  `ch` - The character
Since:
  jEdit 4.3pre7
See Also:
  `setSelectedText(String)`, `isOverwriteEnabled()`

#### isOverwriteEnabled

    public final boolean isOverwriteEnabled()

Returns true if overwrite mode is enabled, false otherwise.

#### setOverwriteEnabled

    public final void setOverwriteEnabled(boolean overwrite)

Sets overwrite mode.

#### toggleOverwriteEnabled

    public final void toggleOverwriteEnabled()

Toggles overwrite mode.

Since:
  jEdit 2.7pre2

#### backspace

    public void backspace()

Deletes the character before the caret, or the selection, if one is active.

Since:
  jEdit 2.7pre2

#### backspaceWord

    public void backspaceWord()

Deletes the word before the caret.

Since:
  jEdit 2.7pre2

#### backspaceWord

    public void backspaceWord(boolean eatWhitespace)

Deletes the word before the caret.

Parameters:
  `eatWhitespace` - If true, will eat whitespace
Since:
  jEdit 4.2pre5

#### backspaceWord

    public void backspaceWord(boolean eatWhitespace,
                     boolean eatOnlyAfterWord)

Deletes the word before the caret.

Parameters:
  `eatWhitespace` - If true, will eat whitespace
  `eatOnlyAfterWord` - Eat only whitespace after a word, in effect this goes to actual word starts even if eating
Since:
  jEdit 4.4pre1

#### delete

    public void delete()

Deletes the character after the caret.

Since:
  jEdit 2.7pre2

#### deleteToEndOfLine

    public void deleteToEndOfLine()

Deletes from the caret to the end of the current line.

Since:
  jEdit 2.7pre2

#### deleteLine

    public void deleteLine()

Deletes the line containing the caret.

Since:
  jEdit 2.7pre2

#### deleteParagraph

    public void deleteParagraph()

Deletes the paragraph containing the caret.

Since:
  jEdit 2.7pre2

#### deleteToStartOfLine

    public void deleteToStartOfLine()

Deletes from the caret to the beginning of the current line.

Since:
  jEdit 2.7pre2

#### deleteWord

    public void deleteWord()

Deletes the word in front of the caret.

Since:
  jEdit 2.7pre2

#### deleteWord

    public void deleteWord(boolean eatWhitespace)

Deletes the word in front of the caret. . * @param eatWhitespace If true, will eat whitespace

Since:
  jEdit 4.2pre5

#### isMultipleSelectionEnabled

    public final boolean isMultipleSelectionEnabled()

Returns if multiple selection is enabled.

Since:
  jEdit 3.2pre1

#### toggleMultipleSelectionEnabled

    public final void toggleMultipleSelectionEnabled()

Toggles multiple selection.

Since:
  jEdit 3.2pre1

#### setMultipleSelectionEnabled

    public final void setMultipleSelectionEnabled(boolean multi)

Set multiple selection on or off according to the value of `multi`. This only affects the ability to make multiple selections in the user interface; macros and plugins can manipulate them regardless of the setting of this flag. In fact, in most cases, calling this method should not be necessary.

Parameters:
  `multi` - Should multiple selection be enabled?
Since:
  jEdit 3.2pre1

#### isRectangularSelectionEnabled

    public final boolean isRectangularSelectionEnabled()

Returns if rectangular selection is enabled.

Since:
  jEdit 4.2pre1

#### toggleRectangularSelectionEnabled

    public final void toggleRectangularSelectionEnabled()

Toggles rectangular selection.

Since:
  jEdit 4.2pre1

#### setRectangularSelectionEnabled

    public final void setRectangularSelectionEnabled(boolean rectangularSelectionMode)

Set rectangular selection on or off according to the value of `rectangularSelectionMode`. This only affects the ability to make multiple selections from the keyboard. A rectangular selection can always be created by dragging with the mouse by holding down Control, regardless of the state of this flag.

Parameters:
  `rectangularSelectionMode` - Should rectangular selection be enabled?
Since:
  jEdit 4.2pre1

#### goToParentFold

    public void goToParentFold()

Moves the caret to the fold containing the one at the caret position.

Since:
  jEdit 4.0pre3

#### goToNextFold

    public void goToNextFold(boolean select)

Moves the caret to the next fold.

Parameters:
  `select` - true if you want to extend selection
Since:
  jEdit 4.0pre3

#### goToPrevFold

    public void goToPrevFold(boolean select)

Moves the caret to the previous fold.

Parameters:
  `select` - true if you want to extend selection
Since:
  jEdit 4.0pre3

#### collapseFold

    public void collapseFold()

Like `DisplayManager.collapseFold(int)`, but also moves the caret to the first line of the fold.

Since:
  jEdit 4.0pre3

#### collapseFold

    public void collapseFold(int line)

Like `DisplayManager.collapseFold(int)`, but also moves the caret to the first line of the fold.

Parameters:
  `line` - the physical line index of the fold that we want to collapse
Since:
  jEdit 4.3pre7

#### expandFold

    public void expandFold(boolean fully)

Like `DisplayManager.expandFold(int,boolean)`, but also moves the caret to the first sub-fold.

Parameters:
  `fully` - If true, all subfolds will also be expanded
Since:
  jEdit 4.0pre3

#### selectFold

    public void selectFold()

Selects the fold that contains the caret line number.

Since:
  jEdit 3.1pre3

#### selectFold

    public void selectFold(int line)

Selects the fold that contains the specified line number.

Parameters:
  `line` - The line number
Since:
  jEdit 4.0pre1

#### narrowToFold

    public void narrowToFold()

Hides all lines except those in the fold containing the caret.

Since:
  jEdit 4.0pre1

#### narrowToSelection

    public void narrowToSelection()

Hides all lines except those in the selection.

Since:
  jEdit 4.0pre1

#### addExplicitFold

    public void addExplicitFold()
                         throws TextAreaException

Surrounds the selection with explicit fold markers.

Throws:
  `TextAreaException` - an exception thrown if the folding mode is not explicit
Since:
  jEdit 4.0pre3

#### lineComment

    public void lineComment()

Prepends each line of the selection with the line comment string.

Since:
  jEdit 3.2pre1

#### rangeComment

    public void rangeComment()

Adds comment start and end strings to the beginning and end of the selection.

Since:
  jEdit 3.2pre1

#### formatParagraph

    public void formatParagraph()
                         throws TextAreaException

Formats the paragraph containing the caret.

Throws:
  `TextAreaException`
Since:
  jEdit 2.7pre2

#### spacesToTabs

    public void spacesToTabs()

Converts spaces to tabs in the selection.

Since:
  jEdit 2.7pre2

#### tabsToSpaces

    public void tabsToSpaces()

Converts tabs to spaces in the selection.

Since:
  jEdit 2.7pre2

#### toUpperCase

    public void toUpperCase()

Converts the selected text to upper case.

Since:
  jEdit 2.7pre2

#### toLowerCase

    public void toLowerCase()

Converts the selected text to lower case.

Since:
  jEdit 2.7pre2

#### removeTrailingWhiteSpace

    public void removeTrailingWhiteSpace()

Removes trailing whitespace from all lines in the selection.

Since:
  jEdit 2.7pre2

#### insertEnterAndIndent

    public void insertEnterAndIndent()

#### insertTabAndIndent

    public void insertTabAndIndent()

#### indentSelectedLines

    public void indentSelectedLines()

Indents all selected lines.

Since:
  jEdit 3.1pre3

#### turnOnElasticTabstops

    public void turnOnElasticTabstops()

Turn ON elastic tab stops.

#### shiftIndentLeft

    public void shiftIndentLeft()

Shifts the indent to the left.

Since:
  jEdit 2.7pre2

#### shiftIndentRight

    public void shiftIndentRight()

Shifts the indent to the right.

Since:
  jEdit 2.7pre2

#### joinLines

    public void joinLines()

Joins the current and the next line, or joins all lines in selections.

Since:
  jEdit 2.7pre2

#### addLeftOfScrollBar

    public void addLeftOfScrollBar(java.awt.Component comp)

Adds a component to the left side of the box left of the vertical scroll bar. The ErrorList plugin uses this to show a global error overview, for example. It is possible for more than one component to be added, each is added to the left side of the box in turn. Adding to the left ensures the scrollbar is always right of all added components.

Parameters:
  `comp` - The component
Since:
  jEdit 4.2pre1

#### removeLeftOfScrollBar

    public void removeLeftOfScrollBar(java.awt.Component comp)

Removes a component from the box left of the vertical scroll bar.

Parameters:
  `comp` - The component
Since:
  jEdit 4.2pre1

#### addNotify

    public void addNotify()

Called by the AWT when this component is added to a parent. Adds document listener.

Overrides:
  `addNotify` in class `javax.swing.JComponent`

#### removeNotify

    public void removeNotify()

Called by the AWT when this component is removed from it's parent. This clears the pointer to the currently focused component. Also removes document listener.

Overrides:
  `removeNotify` in class `javax.swing.JComponent`

#### getFocusTraversalKeysEnabled

    public boolean getFocusTraversalKeysEnabled()

Java 1.4 compatibility fix to make Tab key work.

Overrides:
  `getFocusTraversalKeysEnabled` in class `java.awt.Component`
Since:
  jEdit 3.2pre4

#### getFocusCycleRoot

    public boolean getFocusCycleRoot()

Java 1.4 compatibility fix to make Tab traversal work in a sane manner.

Since:
  jEdit 4.2pre3

#### processKeyEvent

    public void processKeyEvent(java.awt.event.KeyEvent evt)

Overrides:
  `processKeyEvent` in class `javax.swing.JComponent`

#### addTopComponent

    public void addTopComponent(java.awt.Component comp)

Adds a component above the gutter, text area, and vertical scroll bar.

Since:
  jEdit 4.2pre3

#### removeTopComponent

    public void removeTopComponent(java.awt.Component comp)

Removes a component from above the gutter, text area, and vertical scroll bar.

Since:
  jEdit 4.2pre3

#### getInputMethodRequests

    public java.awt.im.InputMethodRequests getInputMethodRequests()

Overrides:
  `getInputMethodRequests` in class `java.awt.Component`

#### addStatusListener

    public final void addStatusListener(StatusListener listener)

Adds a scroll listener to this text area.

Parameters:
  `listener` - The listener
Since:
  jEdit 4.3pre2

#### removeStatusListener

    public final void removeStatusListener(StatusListener listener)

Removes a scroll listener from this text area.

Parameters:
  `listener` - The listener
Since:
  jEdit 4.3pre2

#### propertiesChanged

    public void propertiesChanged()

Called by jEdit when necessary. Plugins should not call this method.

#### addActionSet

    public void addActionSet(JEditActionSet<JEditBeanShellAction> actionSet)

Adds a new action set to the textarea's list of ActionSets. Call this only on standalone textarea

Parameters:
  `actionSet` - the actionSet to add
Since:
  jEdit 4.3pre13

#### getMarkPosition

    @Deprecated
    public final int getMarkPosition()

Deprecated. Do not use.

#### isCaretVisible

    public final boolean isCaretVisible()

Returns true if the caret is visible, false otherwise.

#### insert

    protected void insert(java.lang.String str,
              boolean indent)

#### userInputTab

    protected void userInputTab()

#### doWordWrap

    protected boolean doWordWrap(boolean spaceInserted)

Does hard wrap.

#### addExplicitFold

    protected int addExplicitFold(int caretStart,
                      int caretEnd,
                      int lineStart,
                      int lineEnd)

Add an explicit fold. You should call this method inside a compoundEdit in the buffer. You must also check if the buffer fold mode is explicit before calling this method.

Parameters:
  `caretStart` - the starting offset
  `caretEnd` - the end offset
  `lineStart` - the start line
  `lineEnd` - the end line
Since:
  jEdit 4.3pre3

#### isRightClickPopupEnabled

    public boolean isRightClickPopupEnabled()

Returns if the right click popup menu is enabled. The Gestures plugin uses this API.

Since:
  jEdit 4.2pre13

#### setRightClickPopupEnabled

    public void setRightClickPopupEnabled(boolean popupEnabled)

Sets if the right click popup menu is enabled. The Gestures plugin uses this API.

Since:
  jEdit 4.2pre13

#### getRightClickPopup

    public final javax.swing.JPopupMenu getRightClickPopup()

Returns the right click popup menu.

#### setRightClickPopup

    public final void setRightClickPopup(javax.swing.JPopupMenu popup)

Sets the right click popup menu.

Parameters:
  `popup` - The popup

#### handlePopupTrigger

    public void handlePopupTrigger(java.awt.event.MouseEvent evt)

Do the same thing as right-clicking on the text area. The Gestures plugin uses this API.

Since:
  jEdit 4.2pre13

#### createPopupMenu

    public void createPopupMenu(java.awt.event.MouseEvent evt)

Creates the popup menu. If you want a popup menu, don't forget in your class to call `setRightClickPopupEnabled(boolean)` to enable the popup menu

Since:
  4.3pre15

#### showPopupMenu

    public void showPopupMenu()

Shows the popup menu below the current caret position.

Since:
  4.3pre10

#### showPopupMenu

    public static void showPopupMenu(javax.swing.JPopupMenu popup,
                     java.awt.Component comp,
                     int x,
                     int y,
                     boolean point)

Shows the specified popup menu, ensuring it is displayed within the bounds of the screen.

Parameters:
  `popup` - The popup menu
  `comp` - The component to show it for
  `x` - The x co-ordinate
  `y` - The y co-ordinate
  `point` - If true, then the popup originates from a single point; otherwise it will originate from the component itself. This affects positioning in the case where the popup does not fit onscreen.
Since:
  jEdit 4.1pre1

#### getTabExpander

    public javax.swing.text.TabExpander getTabExpander()