Package org.fife.ui.rsyntaxtextarea
Class RSyntaxTextAreaUI
- java.lang.Object
-
- javax.swing.plaf.ComponentUI
-
- javax.swing.plaf.TextUI
-
- javax.swing.plaf.basic.BasicTextUI
-
- javax.swing.plaf.basic.BasicTextAreaUI
-
- org.fife.ui.rtextarea.RTextAreaUI
-
- org.fife.ui.rsyntaxtextarea.RSyntaxTextAreaUI
-
- All Implemented Interfaces:
ViewFactory
public class RSyntaxTextAreaUI extends RTextAreaUI
UI used byRSyntaxTextArea
. This allows us to implement syntax highlighting.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.plaf.basic.BasicTextUI
BasicTextUI.BasicCaret, BasicTextUI.BasicHighlighter
-
-
Field Summary
-
Fields inherited from class org.fife.ui.rtextarea.RTextAreaUI
textArea
-
-
Constructor Summary
Constructors Constructor Description RSyntaxTextAreaUI(JComponent rSyntaxTextArea)
Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description View
create(Element elem)
Creates the view for an element.protected Highlighter
createHighlighter()
Creates the highlighter to use for syntax text areas.static ComponentUI
createUI(JComponent ta)
protected String
getActionMapName()
Returns the name to use to cache/fetch the shared action map.EditorKit
getEditorKit(JTextComponent tc)
Fetches the EditorKit for the UI.protected InputMap
getRTextAreaInputMap()
Get the InputMap to use for the UI.protected void
paintEditorAugmentations(Graphics g)
Paints editor augmentations added by RTextArea: highlighted lines, current line highlight, and margin line.protected void
paintMatchedBracket(Graphics g)
Paints the "matched bracket", if any.protected void
paintMatchedBracketImpl(Graphics g, RSyntaxTextArea rsta, Rectangle r)
protected void
propertyChange(PropertyChangeEvent e)
Gets called whenever a bound property is changed on this UI'sRSyntaxTextArea
.void
refreshSyntaxHighlighting()
Updates the view.int
yForLine(int line)
Returns the y-coordinate of the specified line.int
yForLineContaining(int offs)
Returns the y-coordinate of the line containing a specified offset.-
Methods inherited from class org.fife.ui.rtextarea.RTextAreaUI
createCaret, createKeymap, createRTextAreaActionMap, getRTextArea, getVisibleEditorRect, installDefaults, installKeyboardActions, installUI, paintBackground, paintCurrentLineHighlight, paintLineHighlights, paintMarginLine, paintSafely
-
Methods inherited from class javax.swing.plaf.basic.BasicTextAreaUI
getBaseline, getBaselineResizeBehavior, getMinimumSize, getPreferredSize, getPropertyPrefix
-
Methods inherited from class javax.swing.plaf.basic.BasicTextUI
create, damageRange, damageRange, getComponent, getKeymapName, getMaximumSize, getNextVisualPositionFrom, getRootView, getToolTipText, installListeners, modelChanged, modelToView, modelToView, modelToView2D, paint, setView, uninstallDefaults, uninstallKeyboardActions, uninstallListeners, uninstallUI, update, viewToModel, viewToModel, viewToModel2D
-
Methods inherited from class javax.swing.plaf.TextUI
getToolTipText2D
-
Methods inherited from class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount
-
-
-
-
Constructor Detail
-
RSyntaxTextAreaUI
public RSyntaxTextAreaUI(JComponent rSyntaxTextArea)
Constructor.
-
-
Method Detail
-
createUI
public static ComponentUI createUI(JComponent ta)
-
create
public View create(Element elem)
Creates the view for an element.- Specified by:
create
in interfaceViewFactory
- Overrides:
create
in classRTextAreaUI
- Parameters:
elem
- The element.- Returns:
- The view.
-
createHighlighter
protected Highlighter createHighlighter()
Creates the highlighter to use for syntax text areas.- Overrides:
createHighlighter
in classBasicTextUI
- Returns:
- The highlighter.
-
getActionMapName
protected String getActionMapName()
Returns the name to use to cache/fetch the shared action map. This should be overridden by subclasses if the subclass has its own custom editor kit to install, so its actions get picked up.- Overrides:
getActionMapName
in classRTextAreaUI
- Returns:
- The name of the cached action map.
-
getEditorKit
public EditorKit getEditorKit(JTextComponent tc)
Fetches the EditorKit for the UI.- Overrides:
getEditorKit
in classRTextAreaUI
- Parameters:
tc
- The text component for which this UI is installed.- Returns:
- The editor capabilities.
- See Also:
TextUI.getEditorKit(javax.swing.text.JTextComponent)
-
getRTextAreaInputMap
protected InputMap getRTextAreaInputMap()
Get the InputMap to use for the UI.This method is not named
getInputMap()
because there is a package-private method inBasicTextAreaUI
with that name. Thus, creating a new method with that name causes certain compilers to issue warnings that you are not actually overriding the original method (since it is package-private).- Overrides:
getRTextAreaInputMap
in classRTextAreaUI
-
paintEditorAugmentations
protected void paintEditorAugmentations(Graphics g)
Description copied from class:RTextAreaUI
Paints editor augmentations added by RTextArea: highlighted lines, current line highlight, and margin line.- Overrides:
paintEditorAugmentations
in classRTextAreaUI
- Parameters:
g
- The graphics context with which to paint.
-
paintMatchedBracket
protected void paintMatchedBracket(Graphics g)
Paints the "matched bracket", if any.- Parameters:
g
- The graphics context.
-
paintMatchedBracketImpl
protected void paintMatchedBracketImpl(Graphics g, RSyntaxTextArea rsta, Rectangle r)
-
propertyChange
protected void propertyChange(PropertyChangeEvent e)
Gets called whenever a bound property is changed on this UI'sRSyntaxTextArea
.- Overrides:
propertyChange
in classBasicTextAreaUI
- Parameters:
e
- The property change event.
-
refreshSyntaxHighlighting
public void refreshSyntaxHighlighting()
Updates the view. This should be called when the underlyingRSyntaxTextArea
changes its syntax editing style.
-
yForLine
public int yForLine(int line) throws BadLocationException
Returns the y-coordinate of the specified line.This method is quicker than using traditional
modelToView(int)
calls, as the entire bounding box isn't computed.- Overrides:
yForLine
in classRTextAreaUI
- 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 a specified offset.This is faster than calling
modelToView(offs).y
, so it is preferred if you do not need the actual bounding box.- Overrides:
yForLineContaining
in classRTextAreaUI
- 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.
-
-