TextAreaPainter

processing.app.syntax

## Class TextAreaPainter

- Object
- - Component
  - - Container
    - - JComponent
      - - TextAreaPainter

- All Implemented Interfaces:
    ImageObserver, MenuContainer, Serializable, TabExpander

      public class TextAreaPainter
      extends JComponent
      implements TabExpander

  The text area repaint manager. It performs double buffering and paints lines of text.
  See Also:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static interface` | `TextAreaPainter.Highlight` Highlight interface.

    - ### Nested classes/interfaces inherited from class JComponent

      `JComponent.AccessibleJComponent`

    - ### Nested classes/interfaces inherited from class Component

      `Component.BaselineResizeBehavior`

  - ### Field Summary

    - ### Fields inherited from class JComponent

      `TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

    - ### Fields inherited from class Component

      `BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

    - ### Fields inherited from interface ImageObserver

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

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TextAreaPainter(JEditTextArea textArea, TextAreaDefaults defaults)` Creates a new repaint manager.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `CompositionTextPainter` | `getCompositionTextpainter()` Get CompositionTextPainter, creating one if it doesn't exist.
    `Segment` | `getCurrentLine()` Accessor used by tools that want to hook in and grab the formatting.
    `int` | `getCurrentLineIndex()` Accessor used by tools that want to hook in and grab the formatting.
    `Token` | `getCurrentLineTokens()` Accessor used by tools that want to hook in and grab the formatting.
    `FontMetrics` | `getFontMetrics()` Returns the font metrics used by this component.
    `FontMetrics` | `getFontMetrics(SyntaxStyle style)`
    `Dimension` | `getMinimumSize()`
    `Dimension` | `getPreferredSize()`
    `Printable` | `getPrintable()`
    `SyntaxStyle[]` | `getStyles()` Returns the syntax styles used to paint colorized text.
    `void` | `invalidateLine(int line)` Marks a line as needing a repaint.
    `boolean` | `isBlockCaretEnabled()` Returns true if the caret should be drawn as a block, false otherwise.
    `boolean` | `isBracketHighlightEnabled()` Returns true if bracket highlighting is enabled, false otherwise.
    `float` | `nextTabStop(float x, int tabOffset)` Returns next tab stop after a specified point.
    `void` | `paint(Graphics gfx)` Repaints the text.
    `void` | `setCurrentLineIndex(int what)` Accessor used by tools that want to hook in and grab the formatting.
    `void` | `setCurrentLineTokens(Token tokens)` Accessor used by tools that want to hook in and grab the formatting.
    `void` | `setLineHighlightEnabled(boolean lineHighlight)` Enables or disables current line highlighting.
    `void` | `updateAppearance()`

    - ### Methods inherited from class JComponent

      `addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, 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, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI`

    - ### Methods inherited from class Container

      `add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate`

    - ### Methods inherited from class Component

      `action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, 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, getPeer, 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, 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, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

    - ### Methods inherited from class Object

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

- - ### Constructor Detail

    - #### TextAreaPainter

          public TextAreaPainter(JEditTextArea textArea,
                         TextAreaDefaults defaults)

      Creates a new repaint manager. This should be not be called directly.

  - ### Method Detail

    - #### updateAppearance

          public void updateAppearance()

    - #### getCompositionTextpainter

          public CompositionTextPainter getCompositionTextpainter()

      Get CompositionTextPainter, creating one if it doesn't exist.

    - #### getStyles

          public final SyntaxStyle[] getStyles()

      Returns the syntax styles used to paint colorized text. Entry n will be used to paint tokens with id = n.
      See Also:
        `Token`

    - #### setLineHighlightEnabled

          public final void setLineHighlightEnabled(boolean lineHighlight)

      Enables or disables current line highlighting.
      Parameters:
        `lineHighlight` - True if current line highlight should be enabled, false otherwise

    - #### isBracketHighlightEnabled

          public final boolean isBracketHighlightEnabled()

      Returns true if bracket highlighting is enabled, false otherwise. When bracket highlighting is enabled, the bracket matching the one before the caret (if any) is highlighted.

    - #### isBlockCaretEnabled

          public final boolean isBlockCaretEnabled()

      Returns true if the caret should be drawn as a block, false otherwise.

    - #### getFontMetrics

          public FontMetrics getFontMetrics()

      Returns the font metrics used by this component.

    - #### getFontMetrics

          public FontMetrics getFontMetrics(SyntaxStyle style)

    - #### paint

          public void paint(Graphics gfx)

      Repaints the text.
      Overrides:
        `paint` in class `JComponent`
      Parameters:
        `gfx` - The graphics context

    - #### getPrintable

          public Printable getPrintable()

    - #### invalidateLine

          public final void invalidateLine(int line)

      Marks a line as needing a repaint.
      Parameters:
        `line` - The line to invalidate

    - #### nextTabStop

          public float nextTabStop(float x,
                          int tabOffset)

      Returns next tab stop after a specified point.
      Specified by:
        `nextTabStop` in interface `TabExpander`

    - #### getPreferredSize

          public Dimension getPreferredSize()

      Overrides:
        `getPreferredSize` in class `JComponent`

    - #### getMinimumSize

          public Dimension getMinimumSize()

      Overrides:
        `getMinimumSize` in class `JComponent`

    - #### getCurrentLineIndex

          public int getCurrentLineIndex()

      Accessor used by tools that want to hook in and grab the formatting.

    - #### setCurrentLineIndex

          public void setCurrentLineIndex(int what)

      Accessor used by tools that want to hook in and grab the formatting.

    - #### getCurrentLineTokens

          public Token getCurrentLineTokens()

      Accessor used by tools that want to hook in and grab the formatting.

    - #### setCurrentLineTokens

          public void setCurrentLineTokens(Token tokens)

      Accessor used by tools that want to hook in and grab the formatting.

    - #### getCurrentLine

          public Segment getCurrentLine()

      Accessor used by tools that want to hook in and grab the formatting.