Package org.fife.ui.rtextarea
Class RTextScrollPane
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JScrollPane
org.fife.ui.rtextarea.RTextScrollPane
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
,ScrollPaneConstants
An extension of
JScrollPane
that will only take
RTextArea
s (or javax.swing.JLayer
s decorating
RTextArea
s) for its view. This class has the ability to show:
- Line numbers
- Per-line icons (for bookmarks, debugging breakpoints, error markers, etc.)
- +/- icons to denote code folding regions.
Gutter
class.
Each RTextScrollPane
has a Gutter
instance that
it uses as its row header. The gutter is only made visible when one of its
features is being used (line numbering, folding, and/or icons).- Version:
- 1.0
- See Also:
-
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
FieldsFields 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
ConstructorsConstructorDescriptionConstructor.RTextScrollPane
(Component comp) Creates a scroll pane.RTextScrollPane
(Component comp, boolean lineNumbers) Creates a scroll pane.RTextScrollPane
(Component comp, boolean lineNumbers, Color lineNumberColor) Creates a scroll pane.RTextScrollPane
(RTextArea textArea) Creates a scroll pane.RTextScrollPane
(RTextArea textArea, boolean lineNumbers) Creates a scroll pane. -
Method Summary
Modifier and TypeMethodDescriptionprivate void
Ensures the gutter is visible if it's showing anything.private static RTextArea
Returns the first descendant of a component that is anRTextArea
.Returns the gutter.boolean
Returnstrue
if the line numbers are enabled and visible.Returns the text area being displayed.boolean
Returns whether the fold indicator is enabled.boolean
Returns whether the icon row header is enabled.void
setFoldIndicatorEnabled
(boolean enabled) Toggles whether the fold indicator is enabled.void
setIconRowHeaderEnabled
(boolean enabled) Toggles whether the icon row header (used for breakpoints, bookmarks, etc.) is enabled.void
setLineNumbersEnabled
(boolean enabled) Toggles whether line numbers are visible.void
setViewportView
(Component view) Sets the view for this scroll pane.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, 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
-
Field Details
-
gutter
-
-
Constructor Details
-
RTextScrollPane
public RTextScrollPane()Constructor. If you use this constructor, you must callsetViewportView(Component)
and pass in anRTextArea
for this scroll pane to render line numbers properly. -
RTextScrollPane
Creates a scroll pane. A default value will be used for line number color (gray), and the current line's line number will be highlighted.- Parameters:
textArea
- The text area this scroll pane will contain.
-
RTextScrollPane
Creates a scroll pane. A default value will be used for line number color (gray), and the current line's line number will be highlighted.- Parameters:
comp
- The component this scroll pane should display. This should be an instance ofRTextArea
,javax.swing.JLayer
(or the olderorg.jdesktop.jxlayer.JXLayer
), ornull
. If this argument isnull
, you must callsetViewportView(Component)
, passing in an instance of one of the types above.
-
RTextScrollPane
Creates a scroll pane. A default value will be used for line number color (gray), and the current line's line number will be highlighted.- Parameters:
textArea
- The text area this scroll pane will contain. If this isnull
, you must callsetViewportView(Component)
, passing in anRTextArea
.lineNumbers
- Whether line numbers should be enabled.
-
RTextScrollPane
Creates a scroll pane. A default value will be used for line number color (gray), and the current line's line number will be highlighted.- Parameters:
comp
- The component this scroll pane should display. This should be an instance ofRTextArea
,javax.swing.JLayer
(or the olderorg.jdesktop.jxlayer.JXLayer
), ornull
. If this argument isnull
, you must callsetViewportView(Component)
, passing in an instance of one of the types above.lineNumbers
- Whether line numbers should be enabled.
-
RTextScrollPane
Creates a scroll pane.- Parameters:
comp
- The component this scroll pane should display. This should be an instance ofRTextArea
,javax.swing.JLayer
(or the olderorg.jdesktop.jxlayer.JXLayer
), ornull
. If this argument isnull
, you must callsetViewportView(Component)
, passing in an instance of one of the types above.lineNumbers
- Whether line numbers are initially enabled.lineNumberColor
- The color to use for line numbers.
-
-
Method Details
-
checkGutterVisibility
private void checkGutterVisibility()Ensures the gutter is visible if it's showing anything. -
getGutter
Returns the gutter.- Returns:
- The gutter.
-
getLineNumbersEnabled
public boolean getLineNumbersEnabled()Returnstrue
if the line numbers are enabled and visible.- Returns:
- Whether line numbers are visible.
- See Also:
-
getTextArea
Returns the text area being displayed.- Returns:
- The text area.
- See Also:
-
isFoldIndicatorEnabled
public boolean isFoldIndicatorEnabled()Returns whether the fold indicator is enabled.- Returns:
- Whether the fold indicator is enabled.
- See Also:
-
isIconRowHeaderEnabled
public boolean isIconRowHeaderEnabled()Returns whether the icon row header is enabled.- Returns:
- Whether the icon row header is enabled.
- See Also:
-
setFoldIndicatorEnabled
public void setFoldIndicatorEnabled(boolean enabled) Toggles whether the fold indicator is enabled.- Parameters:
enabled
- Whether the fold indicator should be enabled.- See Also:
-
setIconRowHeaderEnabled
public void setIconRowHeaderEnabled(boolean enabled) Toggles whether the icon row header (used for breakpoints, bookmarks, etc.) is enabled.- Parameters:
enabled
- Whether the icon row header is enabled.- See Also:
-
setLineNumbersEnabled
public void setLineNumbersEnabled(boolean enabled) Toggles whether line numbers are visible.- Parameters:
enabled
- Whether line numbers should be visible.- See Also:
-
setViewportView
Sets the view for this scroll pane. This must be anRTextArea
.- Overrides:
setViewportView
in classJScrollPane
- Parameters:
view
- The new view.- See Also:
-
getFirstRTextAreaDescendant
Returns the first descendant of a component that is anRTextArea
. This is primarily here to supportjavax.swing.JLayer
s that wrapRTextArea
s.- Parameters:
comp
- The component to recursively look through.- Returns:
- The first descendant text area, or
null
if none is found.
-