Class LineNumberList
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
org.fife.ui.rtextarea.LineNumberList
- All Implemented Interfaces:
MouseListener, MouseMotionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, MouseInputListener
Renders line numbers in the gutter.
- Version:
- 1.0
- Author:
- Robert Futrell
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class JPanel
JPanel.AccessibleJPanelNested 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
FieldsModifier and TypeFieldDescriptionprotected intThe number of lines in the text area.static final Colorstatic final LineNumberFormatterprotected RTextAreaThe text area whose lines we are marking with icons.Fields 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, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionLineNumberList(RTextArea textArea) Constructs a newLineNumberListusing default values for line number color (gray) and highlighting the current line.LineNumberList(RTextArea textArea, Color numberColor) Constructs a newLineNumberList.LineNumberList(RTextArea textArea, Color numberColor, Color currentLineNumberColor) Constructs a newLineNumberList. -
Method Summary
Modifier and TypeMethodDescriptionvoidOverridden to set width of this component correctly when we are first displayed (as keying off of the RTextArea gives us (0,0) when it isn't yet displayed.protected static RectanglegetChildViewBounds(View parent, int line, Rectangle editorRect) Returns the bounds of a child view as a rectangle, sinceViews tend to useShape.Returns the color to use when painting the current line's line number.protected GutterReturns the parentGuttercomponent.Returns the line number formatter.intReturns the starting line's line number.protected voidinit()Called by the constructor before the text area is set.voidvoidvoidvoidvoidvoidvoidprotected voidPaints this component.voidCalled when this component is removed from the view hierarchy.voidsetCurrentLineNumberColor(Color color) Sets the color to use when painting the current line's line number.voidOverridden to ensure line number cell sizes are updated with the font size change.voidsetLineNumberFormatter(LineNumberFormatter formatter) Sets a custom line number formatter.voidsetLineNumberingStartIndex(int index) Sets the starting line's line number.voidsetTextArea(RTextArea textArea) Sets the text area being displayed.Methods inherited from class JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods inherited from class 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, 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, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, 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, setLayout, 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, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
DEFAULT_LINE_NUMBER_COLOR
-
DEFAULT_LINE_NUMBER_FORMATTER
-
textArea
The text area whose lines we are marking with icons. -
currentLineCount
protected int currentLineCountThe number of lines in the text area.
-
-
Constructor Details
-
LineNumberList
Constructs a newLineNumberListusing default values for line number color (gray) and highlighting the current line.- Parameters:
textArea- The text component for which line numbers will be displayed.
-
LineNumberList
-
LineNumberList
Constructs a newLineNumberList.- Parameters:
textArea- The text component for which line numbers will be displayed.numberColor- The color to use for the line numbers. If this isnull, gray will be used.currentLineNumberColor- The color to use for the current line number. If this isnull, the current line's number will not have a special color.
-
-
Method Details
-
addNotify
public void addNotify()Overridden to set width of this component correctly when we are first displayed (as keying off of the RTextArea gives us (0,0) when it isn't yet displayed. -
getCurrentLineNumberColor
Returns the color to use when painting the current line's line number.- Returns:
- The color to use when painting the current line's line
number. If this is
null, the regular line number color will be used. - See Also:
-
getLineNumberingStartIndex
public int getLineNumberingStartIndex()Returns the starting line's line number. The default value is1.- Returns:
- The index
- See Also:
-
getLineNumberFormatter
Returns the line number formatter. The default value isDEFAULT_LINE_NUMBER_FORMATTER- Returns:
- The formatter
- See Also:
-
getPreferredSize
- Overrides:
getPreferredSizein classJComponent
-
init
protected void init()Called by the constructor before the text area is set. This is a hook to allow subclasses to do any needed initialization. The default implementation does nothing. -
mouseClicked
- Specified by:
mouseClickedin interfaceMouseListener
-
mouseDragged
- Specified by:
mouseDraggedin interfaceMouseMotionListener
-
mouseEntered
- Specified by:
mouseEnteredin interfaceMouseListener
-
mouseExited
- Specified by:
mouseExitedin interfaceMouseListener
-
mouseMoved
- Specified by:
mouseMovedin interfaceMouseMotionListener
-
mousePressed
- Specified by:
mousePressedin interfaceMouseListener
-
mouseReleased
- Specified by:
mouseReleasedin interfaceMouseListener
-
paintComponent
Paints this component.- Overrides:
paintComponentin classJComponent- Parameters:
g- The graphics context.
-
removeNotify
public void removeNotify()Called when this component is removed from the view hierarchy. -
setCurrentLineNumberColor
Sets the color to use when painting the current line's line number.- Parameters:
color- The color to use. If this isnull, the current line's line number will be painted just like any other.- See Also:
-
setFont
Overridden to ensure line number cell sizes are updated with the font size change.- Overrides:
setFontin classJComponent- Parameters:
font- The new font to use for line numbers.
-
setLineNumberingStartIndex
public void setLineNumberingStartIndex(int index) Sets the starting line's line number. The default value is1. Applications can call this method to change this value if they are displaying a subset of lines in a file, for example.- Parameters:
index- The new index.- See Also:
-
setLineNumberFormatter
Sets a custom line number formatter. Can be called when other number formats are needed like hindu-arabic numerals.- Parameters:
formatter- The new line number formatter- See Also:
-
setTextArea
Sets the text area being displayed.- Parameters:
textArea- The text area.
-
getChildViewBounds
Returns the bounds of a child view as a rectangle, sinceViews tend to useShape.- Parameters:
parent- The parent view of the child whose bounds we're getting.line- The index of the child view.editorRect- Returned from the text area'sgetVisibleEditorRectmethod.- Returns:
- The child view's bounds.
-
getGutter
-