Package mars.venus.editors.jeditsyntax
Class TextAreaPainter
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
mars.venus.editors.jeditsyntax.TextAreaPainter
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,TabExpander
The text area repaint manager. It performs double buffering and paints
lines of text.
- Version:
- $Id: TextAreaPainter.java,v 1.24 1999/12/13 03:40:30 sp Exp $
- Author:
- Slava Pestov
- See Also:
- Serialized Form
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Component
Component.BaselineResizeBehavior -
Field Summary
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionTextAreaPainter(JEditTextArea textArea, TextAreaDefaults defaults)Creates a new repaint manager. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddCustomHighlight(TextAreaPainter.Highlight highlight)Adds a custom highlight painter.Returns the bracket highlight color.Returns the caret color.Returns the EOL marker color.booleanReturns true if EOL markers are drawn, false otherwise.Returns the font metrics used by this component.booleanReturns true if invalid lines are painted as red tildes (~), false otherwise.Returns the line highlight color.Returns the painter's minimum size.Returns the painter's preferred size.Returns the selection color.Returns the syntax styles used to paint colorized text.intFetch the tab size in characters.getToolTipText(MouseEvent evt)Returns the tool tip to display at the specified location.voidinvalidateLine(int line)Marks a line as needing a repaint.voidinvalidateLineRange(int firstLine, int lastLine)Marks a range of lines as needing a repaint.voidRepaints the lines containing the selection.booleanReturns true if the caret should be drawn as a block, false otherwise.booleanReturns true if bracket highlighting is enabled, false otherwise.booleanReturns true if line highlight is enabled, false otherwise.booleanReturns if this component can be traversed by pressing the Tab key.floatnextTabStop(float x, int tabOffset)Implementation of TabExpander interface.voidRepaints the text.voidsetBlockCaretEnabled(boolean blockCaret)Sets if the caret should be drawn as a block, false otherwise.voidsetBracketHighlightColor(Color bracketHighlightColor)Sets the bracket highlight color.voidsetBracketHighlightEnabled(boolean bracketHighlight)Enables or disables bracket highlighting.voidsetCaretColor(Color caretColor)Sets the caret color.voidsetEOLMarkerColor(Color eolMarkerColor)Sets the EOL marker color.voidsetEOLMarkersPainted(boolean eolMarkers)Sets if EOL markers are to be drawn.voidSets the font for this component.voidsetInvalidLinesPainted(boolean paintInvalid)Sets if invalid lines are to be painted as red tildes.voidsetLineHighlightColor(Color lineHighlightColor)Sets the line highlight color.voidsetLineHighlightEnabled(boolean lineHighlight)Enables or disables current line highlighting.voidsetSelectionColor(Color selectionColor)Sets the selection color.voidsetStyles(SyntaxStyle[] styles)Sets the syntax styles used to paint colorized text.voidsetTabSize(int size)Set the tab size in characters.Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, 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, getTopLevelAncestor, getTransferHandler, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, 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, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUIMethods inherited from class java.awt.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, validateMethods inherited from class java.awt.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, getAccessibleContext, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Constructor Details
-
TextAreaPainter
Creates a new repaint manager. This should be not be called directly.
-
-
Method Details
-
isManagingFocus
public final boolean isManagingFocus()Returns if this component can be traversed by pressing the Tab key. This returns false. NOTE: as of Java 1.4 this method is deprecated and no longer has the desired effect because the focus subsystem does not call it. I've implemented a KeyEventDispatcher in JEditTextArea to handle Tabs. DPS 12-May-2010- Overrides:
isManagingFocusin classJComponent
-
getTabSize
public int getTabSize()Fetch the tab size in characters. DPS 12-May-2010.- Returns:
- int tab size in characters
-
setTabSize
public void setTabSize(int size)Set the tab size in characters. DPS 12-May-2010. Originally it was fixed at PlainDocument property value (8).- Parameters:
size- tab size in characters
-
getStyles
Returns the syntax styles used to paint colorized text. Entry n will be used to paint tokens with id = n.- See Also:
Token
-
setStyles
Sets the syntax styles used to paint colorized text. Entry n will be used to paint tokens with id = n.- Parameters:
styles- The syntax styles- See Also:
Token
-
getCaretColor
Returns the caret color. -
setCaretColor
Sets the caret color.- Parameters:
caretColor- The caret color
-
getSelectionColor
Returns the selection color. -
setSelectionColor
Sets the selection color.- Parameters:
selectionColor- The selection color
-
getLineHighlightColor
Returns the line highlight color. -
setLineHighlightColor
Sets the line highlight color.- Parameters:
lineHighlightColor- The line highlight color
-
isLineHighlightEnabled
public final boolean isLineHighlightEnabled()Returns true if line highlight is enabled, false otherwise. -
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
-
getBracketHighlightColor
Returns the bracket highlight color. -
setBracketHighlightColor
Sets the bracket highlight color.- Parameters:
bracketHighlightColor- The bracket highlight color
-
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. -
setBracketHighlightEnabled
public final void setBracketHighlightEnabled(boolean bracketHighlight)Enables or disables bracket highlighting. When bracket highlighting is enabled, the bracket matching the one before the caret (if any) is highlighted.- Parameters:
bracketHighlight- True if bracket highlighting should be enabled, false otherwise
-
isBlockCaretEnabled
public final boolean isBlockCaretEnabled()Returns true if the caret should be drawn as a block, false otherwise. -
setBlockCaretEnabled
public final void setBlockCaretEnabled(boolean blockCaret)Sets if the caret should be drawn as a block, false otherwise.- Parameters:
blockCaret- True if the caret should be drawn as a block, false otherwise.
-
getEOLMarkerColor
Returns the EOL marker color. -
setEOLMarkerColor
Sets the EOL marker color.- Parameters:
eolMarkerColor- The EOL marker color
-
getEOLMarkersPainted
public final boolean getEOLMarkersPainted()Returns true if EOL markers are drawn, false otherwise. -
setEOLMarkersPainted
public final void setEOLMarkersPainted(boolean eolMarkers)Sets if EOL markers are to be drawn.- Parameters:
eolMarkers- True if EOL markers should be drawn, false otherwise
-
getInvalidLinesPainted
public boolean getInvalidLinesPainted()Returns true if invalid lines are painted as red tildes (~), false otherwise. -
setInvalidLinesPainted
public void setInvalidLinesPainted(boolean paintInvalid)Sets if invalid lines are to be painted as red tildes.- Parameters:
paintInvalid- True if invalid lines should be drawn, false otherwise
-
addCustomHighlight
Adds a custom highlight painter.- Parameters:
highlight- The highlight
-
getToolTipText
Returns the tool tip to display at the specified location.- Overrides:
getToolTipTextin classJComponent- Parameters:
evt- The mouse event
-
getFontMetrics
Returns the font metrics used by this component. -
setFont
Sets the font for this component. This is overridden to update the cached font metrics and to recalculate which lines are visible.- Overrides:
setFontin classJComponent- Parameters:
font- The font
-
paint
Repaints the text.- Overrides:
paintin classJComponent- Parameters:
gfx- The graphics context
-
invalidateLine
public final void invalidateLine(int line)Marks a line as needing a repaint.- Parameters:
line- The line to invalidate
-
invalidateLineRange
public final void invalidateLineRange(int firstLine, int lastLine)Marks a range of lines as needing a repaint.- Parameters:
firstLine- The first line to invalidatelastLine- The last line to invalidate
-
invalidateSelectedLines
public final void invalidateSelectedLines()Repaints the lines containing the selection. -
nextTabStop
public float nextTabStop(float x, int tabOffset)Implementation of TabExpander interface. Returns next tab stop after a specified point.- Specified by:
nextTabStopin interfaceTabExpander- Parameters:
x- The x co-ordinatetabOffset- Ignored- Returns:
- The next tab stop after x
-
getPreferredSize
Returns the painter's preferred size.- Overrides:
getPreferredSizein classJComponent
-
getMinimumSize
Returns the painter's minimum size.- Overrides:
getMinimumSizein classJComponent
-