Package groovy.console.ui.text

# Class TextEditor

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.text.JTextComponent
javax.swing.JEditorPane
javax.swing.JTextPane
groovy.console.ui.text.TextEditor

All Implemented Interfaces:
  `ImageObserver`, `MenuContainer`, `Pageable`, `Printable`, `Serializable`, `Accessible`, `Scrollable`

public class TextEditor extends JTextPane implements Pageable, Printable
A simple text pane that is printable and wrapping is optional.

See Also:
  - Serialized Form

- ## Nested Class Summary

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

  `JEditorPane.AccessibleJEditorPane, JEditorPane.AccessibleJEditorPaneHTML, JEditorPane.JEditorPaneAccessibleHypertextSupport`

  ## Nested classes/interfaces inherited from class javax.swing.text.JTextComponent

  `JTextComponent.AccessibleJTextComponent, JTextComponent.DropLocation, JTextComponent.KeyBinding`

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

  `JComponent.AccessibleJComponent`

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

  `Container.AccessibleAWTContainer`

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

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

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `AUTO_INDENT`
  Action name for automatic indentation.
  `static final String`
  `DELETE`
  Action name for backspace deletion.
  `static final String`
  `FIND`
  Action name for opening the find dialog.
  `static final String`
  `FIND_NEXT`
  Action name for repeating the next find.
  `static final String`
  `FIND_PREVIOUS`
  Action name for repeating the previous find.
  `static final String`
  `REPLACE`
  Action name for opening the replace dialog.

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

  `HONOR_DISPLAY_PROPERTIES, W3C_LENGTH_UNITS`

  ### Fields inherited from class javax.swing.text.JTextComponent

  `DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY`

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

  `listenerList, 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

  `accessibleContext, 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`

  ### Fields inherited from interface java.awt.print.Pageable

  `UNKNOWN_NUMBER_OF_PAGES`

  ### Fields inherited from interface java.awt.print.Printable

  `NO_SUCH_PAGE, PAGE_EXISTS`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `TextEditor()`
  Creates a new instance of TextEditor
  `TextEditor(boolean tabsAsSpaces)`
  Creates a new instance of TextEditor
  `TextEditor(boolean tabsAsSpaces, boolean multiLineTab)`
  Creates a new instance of TextEditor
  `TextEditor(boolean tabsAsSpaces, boolean multiLineTab, boolean unwrapped)`
  Creates a new instance of TextEditor

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addNotify()`
  `int`
  `getNumberOfPages()`
  `PageFormat`
  `getPageFormat(int pageIndex)`
  `Printable`
  `getPrintable(int param)`
  `boolean`
  `getScrollableTracksViewportWidth()`
  `boolean`
  `isMultiLineTabbed()`
  Whether using the tab key indents the selected lines of code
  `void`
  `isMultiLineTabbed(boolean multiLineTab)`
  Enables or disables indenting all selected lines when tabbing.
  `static boolean`
  `isOvertypeMode()`
  `boolean`
  `isTabsAsSpaces()`
  `void`
  `isTabsAsSpaces(boolean tabsAsSpaces)`
  Enables or disables replacing typed tab characters with spaces.
  `boolean`
  `isUnwrapped()`
  `int`
  `print(Graphics graphics, PageFormat pageFormat, int page)`
  `protected void`
  `processKeyEvent(KeyEvent e)`
  `void`
  `removeNotify()`
  `void`
  `replaceSelection(String text)`
  `void`
  `setBounds(int x, int y, int width, int height)`
  `void`
  `setOvertypeMode(boolean isOvertypeMode)`
  Set the caret to use depending on overtype/insert mode
  `void`
  `setUnwrapped(boolean unwrapped)`

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

  `addStyle, createDefaultEditorKit, getCharacterAttributes, getInputAttributes, getLogicalStyle, getParagraphAttributes, getStyle, getStyledDocument, getStyledEditorKit, getUIClassID, insertComponent, insertIcon, paramString, removeStyle, setCharacterAttributes, setDocument, setEditorKit, setLogicalStyle, setParagraphAttributes, setStyledDocument`

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

  `addHyperlinkListener, createEditorKitForContentType, fireHyperlinkUpdate, getAccessibleContext, getContentType, getEditorKit, getEditorKitClassNameForContentType, getEditorKitForContentType, getHyperlinkListeners, getPage, getPreferredSize, getScrollableTracksViewportHeight, getStream, getText, read, registerEditorKitForContentType, registerEditorKitForContentType, removeHyperlinkListener, scrollToReference, setContentType, setEditorKitForContentType, setPage, setPage, setText`

  ### Methods inherited from class javax.swing.text.JTextComponent

  `addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getActions, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getDropLocation, getDropMode, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getPrintable, getScrollableBlockIncrement, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, modelToView2D, moveCaretPosition, paste, print, print, print, processInputMethodEvent, read, removeCaretListener, removeKeymap, restoreComposedText, saveComposedText, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setUI, updateUI, viewToModel, viewToModel2D, write`

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

  `addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, 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, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, 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, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update`

  ### 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, 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, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

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

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

- ## Field Details

  - ### FIND

    public static final String FIND
    Action name for opening the find dialog.
    See Also:
      - Constant Field Values

  - ### FIND_NEXT

    public static final String FIND_NEXT
    Action name for repeating the next find.
    See Also:
      - Constant Field Values

  - ### FIND_PREVIOUS

    public static final String FIND_PREVIOUS
    Action name for repeating the previous find.
    See Also:
      - Constant Field Values

  - ### REPLACE

    public static final String REPLACE
    Action name for opening the replace dialog.
    See Also:
      - Constant Field Values

  - ### AUTO_INDENT

    public static final String AUTO_INDENT
    Action name for automatic indentation.
    See Also:
      - Constant Field Values

  - ### DELETE

    public static final String DELETE
    Action name for backspace deletion.
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### TextEditor

    public TextEditor()
    Creates a new instance of TextEditor

  - ### TextEditor

    public TextEditor(boolean tabsAsSpaces)
    Creates a new instance of TextEditor
    Parameters:
      `tabsAsSpaces` - whether typed tabs should be converted to spaces

  - ### TextEditor

    public TextEditor(boolean tabsAsSpaces, boolean multiLineTab)
    Creates a new instance of TextEditor
    Parameters:
      `tabsAsSpaces` - whether typed tabs should be converted to spaces
      `multiLineTab` - whether tab actions should affect all selected lines

  - ### TextEditor

    public TextEditor(boolean tabsAsSpaces, boolean multiLineTab, boolean unwrapped)
    Creates a new instance of TextEditor
    Parameters:
      `tabsAsSpaces` - whether typed tabs should be converted to spaces
      `multiLineTab` - whether tab actions should affect all selected lines
      `unwrapped` - whether long lines should avoid viewport wrapping

- ## Method Details

  - ### addNotify

    public void addNotify()
    Overrides:
      `addNotify` in class `JComponent`

  - ### getNumberOfPages

    public int getNumberOfPages()
    Specified by:
      `getNumberOfPages` in interface `Pageable`

  - ### getPageFormat

    public PageFormat getPageFormat(int pageIndex) throws IndexOutOfBoundsException
    Specified by:
      `getPageFormat` in interface `Pageable`
    Throws:
      `IndexOutOfBoundsException`

  - ### getPrintable

    public Printable getPrintable(int param) throws IndexOutOfBoundsException
    Specified by:
      `getPrintable` in interface `Pageable`
    Throws:
      `IndexOutOfBoundsException`

  - ### print

    public int print(Graphics graphics, PageFormat pageFormat, int page) throws PrinterException
    Specified by:
      `print` in interface `Printable`
    Throws:
      `PrinterException`

  - ### getScrollableTracksViewportWidth

    public boolean getScrollableTracksViewportWidth()
    Specified by:
      `getScrollableTracksViewportWidth` in interface `Scrollable`
    Overrides:
      `getScrollableTracksViewportWidth` in class `JEditorPane`

  - ### isMultiLineTabbed

    public boolean isMultiLineTabbed()
    Whether using the tab key indents the selected lines of code
    Returns:
      true if multiline tabbing is active

  - ### isOvertypeMode

    public static boolean isOvertypeMode()
    Returns:
      true if overtype mode is active, false for insert mode

  - ### isTabsAsSpaces

    public boolean isTabsAsSpaces()
    Returns:
      true if tabs are converted to spaces upon typing

  - ### isUnwrapped

    public boolean isUnwrapped()
    Returns:
      true if text wrapping is disabled

  - ### processKeyEvent

    protected void processKeyEvent(KeyEvent e)
    Overrides:
      `processKeyEvent` in class `JComponent`

  - ### removeNotify

    public void removeNotify()
    Overrides:
      `removeNotify` in class `JTextComponent`

  - ### replaceSelection

    public void replaceSelection(String text)
    Overrides:
      `replaceSelection` in class `JTextPane`

  - ### setBounds

    public void setBounds(int x, int y, int width, int height)
    Overrides:
      `setBounds` in class `Component`

  - ### isMultiLineTabbed

    public void isMultiLineTabbed(boolean multiLineTab)
    Enables or disables indenting all selected lines when tabbing.
    Parameters:
      `multiLineTab` - the new multiLine tab value

  - ### isTabsAsSpaces

    public void isTabsAsSpaces(boolean tabsAsSpaces)
    Enables or disables replacing typed tab characters with spaces.
    Parameters:
      `tabsAsSpaces` - whether tabs are converted to spaces

  - ### setOvertypeMode

    public void setOvertypeMode(boolean isOvertypeMode)
    Set the caret to use depending on overtype/insert mode
    Parameters:
      `isOvertypeMode` - the new mode; true = overtype

  - ### setUnwrapped

    public void setUnwrapped(boolean unwrapped)
    Parameters:
      `unwrapped` - the new unwrapped value