Package groovy.console.ui

# Class ConsoleTextEditor

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JScrollPane
groovy.console.ui.ConsoleTextEditor

All Implemented Interfaces:
  `ImageObserver`, `MenuContainer`, `Serializable`, `Accessible`, `ScrollPaneConstants`

public class ConsoleTextEditor extends JScrollPane
Component which provides a styled editor for the console.

See Also:
  - Serialized Form

- ## Nested Class Summary

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

  `JScrollPane.AccessibleJScrollPane, JScrollPane.ScrollBar`

  ## 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 inherited from class javax.swing.JScrollPane

  `columnHeader, horizontalScrollBar, horizontalScrollBarPolicy, lowerLeft, lowerRight, rowHeader, upperLeft, upperRight, verticalScrollBar, verticalScrollBarPolicy, viewport`

  ### 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 javax.swing.ScrollPaneConstants

  `COLUMN_HEADER, HORIZONTAL_SCROLLBAR, HORIZONTAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_AS_NEEDED, HORIZONTAL_SCROLLBAR_NEVER, HORIZONTAL_SCROLLBAR_POLICY, LOWER_LEADING_CORNER, LOWER_LEFT_CORNER, LOWER_RIGHT_CORNER, LOWER_TRAILING_CORNER, ROW_HEADER, UPPER_LEADING_CORNER, UPPER_LEFT_CORNER, UPPER_RIGHT_CORNER, UPPER_TRAILING_CORNER, VERTICAL_SCROLLBAR, VERTICAL_SCROLLBAR_ALWAYS, VERTICAL_SCROLLBAR_AS_NEEDED, VERTICAL_SCROLLBAR_NEVER, VERTICAL_SCROLLBAR_POLICY, VIEWPORT`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ConsoleTextEditor()`
  Creates a styled text editor with line numbers, undo/redo support, printing support, and syntax highlighting.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `clipBoardAvailable()`
  Reports whether plain-text clipboard content is currently available.
  `void`
  `enableHighLighter(Class<? extends DocumentFilter> clazz)`
  Replaces the current syntax highlighter document filter.
  `String`
  `getDefaultFamily()`
  Returns the preferred monospaced font family for the editor.
  `Action`
  `getPrintAction()`
  Returns the action that prints the editor content.
  `Action`
  `getRedoAction()`
  Returns the action that redoes the most recently undone edit.
  `TextEditor`
  `getTextEditor()`
  Returns the wrapped text editor component.
  `Action`
  `getUndoAction()`
  Returns the action that undoes the most recent edit.
  `TextUndoManager`
  `getUndoManager()`
  Returns the undo manager backing this editor.
  `protected void`
  `initActions()`
  Installs actions exposed by this editor on its action map.
  `void`
  `reapplyHighlighting()`
  Re-run the syntax highlighter on the full document so character attributes match the current theme.
  `void`
  `setDefaultFamily(String defaultFamily)`
  Sets the preferred monospaced font family for the editor.
  `void`
  `setEditable(boolean editable)`
  Updates whether the text editor accepts user edits.
  `void`
  `setShowLineNumbers(boolean showLineNumbers)`
  Shows or hides the line-number gutter.

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

  `createHorizontalScrollBar, createVerticalScrollBar, createViewport, getAccessibleContext, getColumnHeader, getCorner, getHorizontalScrollBar, getHorizontalScrollBarPolicy, getRowHeader, getUI, getUIClassID, getVerticalScrollBar, getVerticalScrollBarPolicy, getViewport, getViewportBorder, getViewportBorderBounds, isValidateRoot, isWheelScrollingEnabled, paramString, setColumnHeader, setColumnHeaderView, setComponentOrientation, setCorner, setHorizontalScrollBar, setHorizontalScrollBarPolicy, setLayout, setRowHeader, setRowHeaderView, setUI, setVerticalScrollBar, setVerticalScrollBarPolicy, setViewport, setViewportBorder, setViewportView, setWheelScrollingEnabled, updateUI`

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

  `addAncestorListener, addNotify, 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, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, 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, 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, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, 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, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, 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`

- ## Constructor Details

  - ### ConsoleTextEditor

    public ConsoleTextEditor()
    Creates a styled text editor with line numbers, undo/redo support, printing support, and syntax highlighting.

- ## Method Details

  - ### getDefaultFamily

    public String getDefaultFamily()
    Returns the preferred monospaced font family for the editor.
    Returns:
      the default font family name

  - ### setDefaultFamily

    public void setDefaultFamily(String defaultFamily)
    Sets the preferred monospaced font family for the editor.
    Parameters:
      `defaultFamily` - the font family name to use

  - ### getUndoManager

    public TextUndoManager getUndoManager()
    Returns the undo manager backing this editor.
    Returns:
      the editor undo manager
    Since:
      6.0.0

  - ### reapplyHighlighting

    public void reapplyHighlighting()
    Re-run the syntax highlighter on the full document so character attributes match the current theme. Undo recording is suppressed so this doesn't pollute the undo/redo stack. Used after undo/redo because UndoableEdits restore attributes captured at edit time, which may no longer match the active theme.
    Since:
      6.0.0

  - ### setShowLineNumbers

    public void setShowLineNumbers(boolean showLineNumbers)
    Shows or hides the line-number gutter.
    Parameters:
      `showLineNumbers` - `true` to show line numbers

  - ### setEditable

    public void setEditable(boolean editable)
    Updates whether the text editor accepts user edits.
    Parameters:
      `editable` - `true` if the editor should be editable

  - ### clipBoardAvailable

    public boolean clipBoardAvailable()
    Reports whether plain-text clipboard content is currently available.
    Returns:
      `true` if the clipboard contains a string

  - ### getTextEditor

    public TextEditor getTextEditor()
    Returns the wrapped text editor component.
    Returns:
      the embedded text editor

  - ### initActions

    protected void initActions()
    Installs actions exposed by this editor on its action map.

  - ### getUndoAction

    public Action getUndoAction()
    Returns the action that undoes the most recent edit.
    Returns:
      the undo action

  - ### getRedoAction

    public Action getRedoAction()
    Returns the action that redoes the most recently undone edit.
    Returns:
      the redo action

  - ### getPrintAction

    public Action getPrintAction()
    Returns the action that prints the editor content.
    Returns:
      the print action

  - ### enableHighLighter

    public void enableHighLighter(Class<? extends DocumentFilter> clazz)
    Replaces the current syntax highlighter document filter.
    Parameters:
      `clazz` - the filter type to instantiate for the current document