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
RTextAreas (or javax.swing.JLayers decorating
RTextAreas) 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 JScrollPane
JScrollPane.AccessibleJScrollPane, JScrollPane.ScrollBarNested classes/interfaces inherited from class JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsFields inherited from class JScrollPane
columnHeader, horizontalScrollBar, horizontalScrollBarPolicy, lowerLeft, lowerRight, rowHeader, upperLeft, upperRight, verticalScrollBar, verticalScrollBarPolicy, viewportFields inherited from class JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTHFields inherited from interface 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 voidEnsures the gutter is visible if it's showing anything.private static RTextAreaReturns the first descendant of a component that is anRTextArea.Returns the gutter.booleanReturnstrueif the line numbers are enabled and visible.Returns the text area being displayed.booleanReturns whether the fold indicator is enabled.booleanReturns whether the icon row header is enabled.voidsetFoldIndicatorEnabled(boolean enabled) Toggles whether the fold indicator is enabled.voidsetIconRowHeaderEnabled(boolean enabled) Toggles whether the icon row header (used for breakpoints, bookmarks, etc.) is enabled.voidsetLineNumbersEnabled(boolean enabled) Toggles whether line numbers are visible.voidsetViewportView(Component view) Sets the view for this scroll pane.Methods inherited from class 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, updateUIMethods inherited from class 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, updateMethods inherited from class 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, validateTreeMethods inherited from class 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 anRTextAreafor 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
-
getLineNumbersEnabled
public boolean getLineNumbersEnabled()Returnstrueif 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:
setViewportViewin 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.JLayers that wrapRTextAreas.- Parameters:
comp- The component to recursively look through.- Returns:
- The first descendant text area, or
nullif none is found.
-