Class RTextAreaBase
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.text.JTextComponent
-
- javax.swing.JTextArea
-
- org.fife.ui.rtextarea.RTextAreaBase
-
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
,Scrollable
- Direct Known Subclasses:
RTextArea
public abstract class RTextAreaBase extends JTextArea
This is the base class forRTextArea
; basically it's just an extension ofjavax.swing.JTextArea
adding a bunch of properties.This class is only supposed to be overridden by
RTextArea
.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
RTextAreaBase.RTAMouseListener
-
Nested classes/interfaces inherited from class javax.swing.JTextArea
JTextArea.AccessibleJTextArea
-
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 String
BACKGROUND_IMAGE_PROPERTY
static String
CURRENT_LINE_HIGHLIGHT_COLOR_PROPERTY
static String
CURRENT_LINE_HIGHLIGHT_FADE_PROPERTY
static String
HIGHLIGHT_CURRENT_LINE_PROPERTY
static String
ROUNDED_SELECTION_PROPERTY
-
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
-
-
Constructor Summary
Constructors Constructor Description RTextAreaBase()
Constructor.RTextAreaBase(int rows, int cols)
Constructor.RTextAreaBase(String text)
Constructor.RTextAreaBase(String text, int rows, int cols)
Constructor.RTextAreaBase(AbstractDocument doc)
Constructor.RTextAreaBase(AbstractDocument doc, String text, int rows, int cols)
Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addNotify()
void
convertSpacesToTabs()
Converts all instances of a number of spaces equal to a tab size into a tab in this text area.void
convertTabsToSpaces()
Converts all instances of a tab into a number of spaces equivalent to a tab in this text area.protected abstract RTextAreaBase.RTAMouseListener
createMouseListener()
Returns the caret event/mouse listener forRTextArea
s.protected abstract RTextAreaUI
createRTextAreaUI()
Returns the a real UI to install on this text component.protected void
forceCurrentLineHighlightRepaint()
Forces the current line highlight to be repainted.Color
getBackground()
Returns thejava.awt.Color
used as the background color for this text area.Image
getBackgroundImage()
Returns the image currently used for the background.Object
getBackgroundObject()
Returns theObject
representing the background for all documents in this tabbed pane; either ajava.awt.Color
or ajava.lang.Image
containing the image used as the background for this text area.int
getCaretLineNumber()
Gets the line number that the caret is on.int
getCaretOffsetFromLineStart()
Gets the position from the beginning of the current line that the caret is on.protected int
getCurrentCaretY()
Returns the y-offset of the caret.Color
getCurrentLineHighlightColor()
Returns the color being used to highlight the current line.static Color
getDefaultCaretColor()
Returns the default caret color.static Color
getDefaultCurrentLineHighlightColor()
Returns the "default" color for highlighting the current line.static Font
getDefaultFont()
Returns the default font for text areas.static Color
getDefaultForeground()
Returns the default foreground color for text in this text area.static Color
getDefaultMarginLineColor()
Returns the default color for the margin line.static int
getDefaultMarginLinePosition()
Returns the default margin line position.static int
getDefaultTabSize()
Returns the default tab size, in spaces.boolean
getFadeCurrentLineHighlight()
Returns whether the current line highlight is faded.boolean
getHighlightCurrentLine()
Returns whether or not the current line is highlighted.int
getLineEndOffsetOfCurrentLine()
Returns the offset of the last character of the line that the caret is on.int
getLineHeight()
Returns the height of a line of text in this text area.int
getLineStartOffsetOfCurrentLine()
Returns the offset of the first character of the line that the caret is on.Color
getMarginLineColor()
Returns the color used to paint the margin line.int
getMarginLinePixelLocation()
Returns the margin line position (in pixels) from the left-hand side of the text area.int
getMarginLinePosition()
Returns the margin line position (which is the number of 'm' widths in the current font the margin line is over).boolean
getRoundedSelectionEdges()
Returns whether selection edges are rounded in this text area.boolean
getTabsEmulated()
Returns whether or not tabs are emulated with spaces (i.e., "soft" tabs).protected void
init()
Initializes this text area.boolean
isMarginLineEnabled()
Returns whether or not the margin line is being painted.static boolean
isOSX()
Returns whether the OS we're running on is OS X.protected void
paintComponent(Graphics g)
Paints the text area.protected void
possiblyUpdateCurrentLineHighlightLocation()
Updates the current line highlight location.protected void
processComponentEvent(ComponentEvent e)
Overridden so we can tell when the text area is resized and update the current-line highlight, if necessary (i.e., if it is enabled and if lineWrap is enabled.void
setBackground(Color bg)
Sets the background color of this text editor.void
setBackgroundImage(Image image)
Sets this image as the background image.void
setBackgroundObject(Object newBackground)
Makes the background into thisObject
.void
setCurrentLineHighlightColor(Color color)
Sets the color to use to highlight the current line.void
setFadeCurrentLineHighlight(boolean fade)
Sets whether the current line highlight should have a "fade" effect.void
setFont(Font font)
Sets the font for this text area.void
setHighlightCurrentLine(boolean highlight)
Sets whether or not the current line is highlighted.void
setLineWrap(boolean wrap)
Sets whether or not word wrap is enabled.void
setMargin(Insets insets)
Overridden to update the current line highlight location.void
setMarginLineColor(Color color)
Sets the color used to paint the margin line.void
setMarginLineEnabled(boolean enabled)
Enables or disables the margin line.void
setMarginLinePosition(int size)
Sets the number of 'm' widths the margin line is over.void
setRoundedSelectionEdges(boolean rounded)
Sets whether the edges of selections are rounded in this text area.protected void
setRTextAreaUI(RTextAreaUI ui)
Sets the UI for thisRTextArea
.void
setTabsEmulated(boolean areEmulated)
Changes whether or not tabs should be emulated with spaces (i.e., soft tabs).void
setTabSize(int size)
Workaround, since in JDK1.4 it appears thatsetTabSize()
doesn't work for aJTextArea
unless you use the constructor specifying the number of rows and columns...protected void
updateMarginLineX()
This is here so subclasses such asRSyntaxTextArea
that have multiple fonts can define exactly what it means, for example, for the margin line to be "80 characters" over.int
yForLine(int line)
Returns the y-coordinate of the specified line.int
yForLineContaining(int offs)
Returns the y-coordinate of the line containing an offset.-
Methods inherited from class javax.swing.JTextArea
append, createDefaultModel, getAccessibleContext, getColumns, getColumnWidth, getLineCount, getLineEndOffset, getLineOfOffset, getLineStartOffset, getLineWrap, getPreferredScrollableViewportSize, getPreferredSize, getRowHeight, getRows, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getTabSize, getUIClassID, getWrapStyleWord, insert, paramString, replaceRange, setColumns, setRows, setWrapStyleWord
-
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, getPrintable, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, modelToView2D, moveCaretPosition, paste, print, print, print, processInputMethodEvent, read, removeCaretListener, removeKeymap, removeNotify, replaceSelection, restoreComposedText, saveComposedText, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDocument, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setText, 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, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, 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, 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, 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, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
BACKGROUND_IMAGE_PROPERTY
public static final String BACKGROUND_IMAGE_PROPERTY
- See Also:
- Constant Field Values
-
CURRENT_LINE_HIGHLIGHT_COLOR_PROPERTY
public static final String CURRENT_LINE_HIGHLIGHT_COLOR_PROPERTY
- See Also:
- Constant Field Values
-
CURRENT_LINE_HIGHLIGHT_FADE_PROPERTY
public static final String CURRENT_LINE_HIGHLIGHT_FADE_PROPERTY
- See Also:
- Constant Field Values
-
HIGHLIGHT_CURRENT_LINE_PROPERTY
public static final String HIGHLIGHT_CURRENT_LINE_PROPERTY
- See Also:
- Constant Field Values
-
ROUNDED_SELECTION_PROPERTY
public static final String ROUNDED_SELECTION_PROPERTY
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
RTextAreaBase
public RTextAreaBase()
Constructor.
-
RTextAreaBase
public RTextAreaBase(AbstractDocument doc)
Constructor.- Parameters:
doc
- The document for the editor.
-
RTextAreaBase
public RTextAreaBase(String text)
Constructor.- Parameters:
text
- The initial text to display.
-
RTextAreaBase
public RTextAreaBase(int rows, int cols)
Constructor.- Parameters:
rows
- The number of rows to display.cols
- The number of columns to display.- Throws:
IllegalArgumentException
- If eitherrows
orcols
is negative.
-
RTextAreaBase
public RTextAreaBase(String text, int rows, int cols)
Constructor.- Parameters:
text
- The initial text to display.rows
- The number of rows to display.cols
- The number of columns to display.- Throws:
IllegalArgumentException
- If eitherrows
orcols
is negative.
-
RTextAreaBase
public RTextAreaBase(AbstractDocument doc, String text, int rows, int cols)
Constructor.- Parameters:
doc
- The document for the editor.text
- The initial text to display.rows
- The number of rows to display.cols
- The number of columns to display.- Throws:
IllegalArgumentException
- If eitherrows
orcols
is negative.
-
-
Method Detail
-
addNotify
public void addNotify()
- Overrides:
addNotify
in classJComponent
-
convertSpacesToTabs
public void convertSpacesToTabs()
Converts all instances of a number of spaces equal to a tab size into a tab in this text area.
-
convertTabsToSpaces
public void convertTabsToSpaces()
Converts all instances of a tab into a number of spaces equivalent to a tab in this text area.
-
createMouseListener
protected abstract RTextAreaBase.RTAMouseListener createMouseListener()
Returns the caret event/mouse listener forRTextArea
s.- Returns:
- The caret event/mouse listener.
-
createRTextAreaUI
protected abstract RTextAreaUI createRTextAreaUI()
Returns the a real UI to install on this text component. Subclasses can override this method to return an extended version ofRTextAreaUI
.- Returns:
- The UI.
-
forceCurrentLineHighlightRepaint
protected void forceCurrentLineHighlightRepaint()
Forces the current line highlight to be repainted. This hack is necessary for those situations when the view (appearance) changes but the caret's location hasn't (and thus the current line highlight coordinates won't get changed). Examples of this are when word wrap is toggled and when syntax styles are changed in anRSyntaxTextArea
.
-
getBackground
public final Color getBackground()
Returns thejava.awt.Color
used as the background color for this text area. If ajava.awt.Image
image is currently being used instead,null
is returned.- Overrides:
getBackground
in classComponent
- Returns:
- The current background color, or
null
if an image is currently the background.
-
getBackgroundImage
public final Image getBackgroundImage()
Returns the image currently used for the background. If the current background is currently ajava.awt.Color
and not ajava.awt.Image
, thennull
is returned.- Returns:
- A
java.awt.Image
used for the background, ornull
if the background is not an image. - See Also:
setBackgroundImage(java.awt.Image)
-
getBackgroundObject
public final Object getBackgroundObject()
Returns theObject
representing the background for all documents in this tabbed pane; either ajava.awt.Color
or ajava.lang.Image
containing the image used as the background for this text area.- Returns:
- The
Object
used for the background. - See Also:
setBackgroundObject(Object newBackground)
-
getCaretLineNumber
public final int getCaretLineNumber()
Gets the line number that the caret is on.- Returns:
- The zero-based line number that the caret is on.
-
getCaretOffsetFromLineStart
public final int getCaretOffsetFromLineStart()
Gets the position from the beginning of the current line that the caret is on.- Returns:
- The zero-based position from the beginning of the current line that the caret is on.
-
getCurrentCaretY
protected int getCurrentCaretY()
Returns the y-offset of the caret.- Returns:
- The y-offset of the caret.
-
getCurrentLineHighlightColor
public Color getCurrentLineHighlightColor()
Returns the color being used to highlight the current line. Note that if highlighting the current line is turned off, you will not be seeing this highlight.- Returns:
- The color being used to highlight the current line.
- See Also:
getHighlightCurrentLine()
,setHighlightCurrentLine(boolean)
,setCurrentLineHighlightColor(java.awt.Color)
-
getDefaultCaretColor
public static final Color getDefaultCaretColor()
Returns the default caret color.- Returns:
- The default caret color.
-
getDefaultCurrentLineHighlightColor
public static final Color getDefaultCurrentLineHighlightColor()
Returns the "default" color for highlighting the current line. Note that this color was chosen only because it looks nice (to me) against a white background.- Returns:
- The default color for highlighting the current line.
-
getDefaultFont
public static final Font getDefaultFont()
Returns the default font for text areas.- Returns:
- The default font.
-
getDefaultForeground
public static final Color getDefaultForeground()
Returns the default foreground color for text in this text area.- Returns:
- The default foreground color.
-
getDefaultMarginLineColor
public static final Color getDefaultMarginLineColor()
Returns the default color for the margin line.- Returns:
- The default margin line color.
- See Also:
getMarginLineColor()
,setMarginLineColor(Color)
-
getDefaultMarginLinePosition
public static final int getDefaultMarginLinePosition()
Returns the default margin line position.- Returns:
- The default margin line position.
- See Also:
getMarginLinePosition()
,setMarginLinePosition(int)
-
getDefaultTabSize
public static final int getDefaultTabSize()
Returns the default tab size, in spaces.- Returns:
- The default tab size.
-
getFadeCurrentLineHighlight
public boolean getFadeCurrentLineHighlight()
Returns whether the current line highlight is faded.- Returns:
- Whether the current line highlight is faded.
- See Also:
setFadeCurrentLineHighlight(boolean)
-
getHighlightCurrentLine
public boolean getHighlightCurrentLine()
Returns whether or not the current line is highlighted.- Returns:
- Whether or the current line is highlighted.
- See Also:
setHighlightCurrentLine(boolean)
,getCurrentLineHighlightColor()
,setCurrentLineHighlightColor(java.awt.Color)
-
getLineEndOffsetOfCurrentLine
public final int getLineEndOffsetOfCurrentLine()
Returns the offset of the last character of the line that the caret is on.- Returns:
- The last offset of the line that the caret is currently on.
-
getLineHeight
public int getLineHeight()
Returns the height of a line of text in this text area.- Returns:
- The height of a line of text.
-
getLineStartOffsetOfCurrentLine
public final int getLineStartOffsetOfCurrentLine()
Returns the offset of the first character of the line that the caret is on.- Returns:
- The first offset of the line that the caret is currently on.
-
getMarginLineColor
public Color getMarginLineColor()
Returns the color used to paint the margin line.- Returns:
- The margin line color.
- See Also:
setMarginLineColor(Color)
-
getMarginLinePixelLocation
public int getMarginLinePixelLocation()
Returns the margin line position (in pixels) from the left-hand side of the text area.- Returns:
- The margin line position.
- See Also:
getDefaultMarginLinePosition()
,setMarginLinePosition(int)
-
getMarginLinePosition
public int getMarginLinePosition()
Returns the margin line position (which is the number of 'm' widths in the current font the margin line is over).- Returns:
- The margin line position.
- See Also:
getDefaultMarginLinePosition()
,setMarginLinePosition(int)
-
getRoundedSelectionEdges
public boolean getRoundedSelectionEdges()
Returns whether selection edges are rounded in this text area.- Returns:
- Whether selection edges are rounded.
- See Also:
setRoundedSelectionEdges(boolean)
-
getTabsEmulated
public boolean getTabsEmulated()
Returns whether or not tabs are emulated with spaces (i.e., "soft" tabs).- Returns:
true
if tabs are emulated with spaces;false
if they aren't.- See Also:
setTabsEmulated(boolean)
-
init
protected void init()
Initializes this text area.
-
isMarginLineEnabled
public boolean isMarginLineEnabled()
Returns whether or not the margin line is being painted.- Returns:
- Whether or not the margin line is being painted.
- See Also:
setMarginLineEnabled(boolean)
-
isOSX
public static boolean isOSX()
Returns whether the OS we're running on is OS X.- Returns:
- Whether the OS we're running on is OS X.
-
paintComponent
protected void paintComponent(Graphics g)
Paints the text area.- Overrides:
paintComponent
in classJComponent
- Parameters:
g
- The graphics context with which to paint.
-
possiblyUpdateCurrentLineHighlightLocation
protected void possiblyUpdateCurrentLineHighlightLocation()
Updates the current line highlight location.
-
processComponentEvent
protected void processComponentEvent(ComponentEvent e)
Overridden so we can tell when the text area is resized and update the current-line highlight, if necessary (i.e., if it is enabled and if lineWrap is enabled.- Overrides:
processComponentEvent
in classComponent
- Parameters:
e
- The component event about to be sent to all registeredComponentListener
s.
-
setBackground
public void setBackground(Color bg)
Sets the background color of this text editor. Note that this is equivalent to callingsetBackgroundObject(bg)
.NOTE: the opaque property is set to
true
when the background is set to a color with 1.0 alpha (by this method). When an image is used for the background, opaque is set to false. This is because we perform better when setOpaque is true, but if we use an image for the background when opaque is true, we get on-screen garbage when the user scrolls via the arrow keys. Thus we need setOpaque to be false in that case.You never have to change the opaque property yourself; it is always done for you.
- Overrides:
setBackground
in classJComponent
- Parameters:
bg
- The color to use as the background color.
-
setBackgroundImage
public void setBackgroundImage(Image image)
Sets this image as the background image. This method fires a property change event of typeBACKGROUND_IMAGE_PROPERTY
.NOTE: the opaque property is set to
true
when the background is set to a color. When an image is used for the background (by this method), opaque is set to false. This is because we perform better when setOpaque is true, but if we use an image for the background when opaque is true, we get on-screen garbage when the user scrolls via the arrow keys. Thus we need setOpaque to be false in that case.You never have to change the opaque property yourself; it is always done for you.
- Parameters:
image
- The image to use as this text area's background.- See Also:
getBackgroundImage()
-
setBackgroundObject
public void setBackgroundObject(Object newBackground)
Makes the background into thisObject
.- Parameters:
newBackground
- Thejava.awt.Color
orjava.awt.Image
object. IfnewBackground
is not either of these, the background is set to plain white.
-
setCurrentLineHighlightColor
public void setCurrentLineHighlightColor(Color color)
Sets the color to use to highlight the current line. Note that if highlighting the current line is turned off, you will not be able to see this highlight. This method fires a property change of typeCURRENT_LINE_HIGHLIGHT_COLOR_PROPERTY
.- Parameters:
color
- The color to use to highlight the current line.- Throws:
NullPointerException
- ifcolor
isnull
.- See Also:
getHighlightCurrentLine()
,setHighlightCurrentLine(boolean)
,getCurrentLineHighlightColor()
-
setFadeCurrentLineHighlight
public void setFadeCurrentLineHighlight(boolean fade)
Sets whether the current line highlight should have a "fade" effect. This method fires a property change event of typeCURRENT_LINE_HIGHLIGHT_FADE_PROPERTY
.- Parameters:
fade
- Whether the fade effect should be enabled.- See Also:
getFadeCurrentLineHighlight()
-
setFont
public void setFont(Font font)
Sets the font for this text area. This is overridden only so that we can update the size of the "current line highlight" and the location of the "margin line," if necessary.
-
setHighlightCurrentLine
public void setHighlightCurrentLine(boolean highlight)
Sets whether or not the current line is highlighted. This method fires a property change of typeHIGHLIGHT_CURRENT_LINE_PROPERTY
.- Parameters:
highlight
- Whether or not to highlight the current line.- See Also:
getHighlightCurrentLine()
,getCurrentLineHighlightColor()
,setCurrentLineHighlightColor(java.awt.Color)
-
setLineWrap
public void setLineWrap(boolean wrap)
Sets whether or not word wrap is enabled. This is overridden so that the "current line highlight" gets updated if it needs to be.- Overrides:
setLineWrap
in classJTextArea
- Parameters:
wrap
- Whether or not word wrap should be enabled.
-
setMargin
public void setMargin(Insets insets)
Overridden to update the current line highlight location.- Overrides:
setMargin
in classJTextComponent
- Parameters:
insets
- The new insets.
-
setMarginLineColor
public void setMarginLineColor(Color color)
Sets the color used to paint the margin line.- Parameters:
color
- The new margin line color.- See Also:
getDefaultMarginLineColor()
,getMarginLineColor()
-
setMarginLineEnabled
public void setMarginLineEnabled(boolean enabled)
Enables or disables the margin line.- Parameters:
enabled
- Whether or not the margin line should be enabled.- See Also:
isMarginLineEnabled()
-
setMarginLinePosition
public void setMarginLinePosition(int size)
Sets the number of 'm' widths the margin line is over.- Parameters:
size
- The margin size. #see #getDefaultMarginLinePosition- See Also:
getMarginLinePosition()
-
setRoundedSelectionEdges
public void setRoundedSelectionEdges(boolean rounded)
Sets whether the edges of selections are rounded in this text area. This method fires a property change of typeROUNDED_SELECTION_PROPERTY
.- Parameters:
rounded
- Whether selection edges should be rounded.- See Also:
getRoundedSelectionEdges()
-
setRTextAreaUI
protected void setRTextAreaUI(RTextAreaUI ui)
Sets the UI for thisRTextArea
. Note that, for instances ofRTextArea
,setUI
only updates the popup menu; this is becauseRTextArea
s' look and feels are independent of the Java Look and Feel. This method is here so subclasses can set a UI (subclass ofRTextAreaUI
) if they have to.- Parameters:
ui
- The new UI.- See Also:
JTextComponent.setUI(javax.swing.plaf.TextUI)
-
setTabsEmulated
public void setTabsEmulated(boolean areEmulated)
Changes whether or not tabs should be emulated with spaces (i.e., soft tabs). Note that this affects all tabs inserted AFTER this call, not tabs already in the document. For that, seeconvertTabsToSpaces()
andconvertSpacesToTabs()
.- Parameters:
areEmulated
- Whether or not tabs should be emulated with spaces.- See Also:
convertSpacesToTabs()
,convertTabsToSpaces()
,getTabsEmulated()
-
setTabSize
public void setTabSize(int size)
Workaround, since in JDK1.4 it appears thatsetTabSize()
doesn't work for aJTextArea
unless you use the constructor specifying the number of rows and columns...Sets the number of characters to expand tabs to. This will be multiplied by the maximum advance for variable width fonts. A PropertyChange event ("tabSize") is fired when the tab size changes.
- Overrides:
setTabSize
in classJTextArea
- Parameters:
size
- Number of characters to expand to.
-
updateMarginLineX
protected void updateMarginLineX()
This is here so subclasses such asRSyntaxTextArea
that have multiple fonts can define exactly what it means, for example, for the margin line to be "80 characters" over.
-
yForLine
public int yForLine(int line) throws BadLocationException
Returns the y-coordinate of the specified line.- Parameters:
line
- The line number.- Returns:
- The y-coordinate of the top of the line, or
-1
if this text area doesn't yet have a positive size or the line is hidden (i.e. from folding). - Throws:
BadLocationException
- Ifline
isn't a valid line number for this document.
-
yForLineContaining
public int yForLineContaining(int offs) throws BadLocationException
Returns the y-coordinate of the line containing an offset.- Parameters:
offs
- The offset info the document.- Returns:
- The y-coordinate of the top of the offset, or
-1
if this text area doesn't yet have a positive size or the line is hidden (i.e. from folding). - Throws:
BadLocationException
- Ifoffs
isn't a valid offset into the document.
-
-