Package jsyntaxpane.components
Class LineNumbersRuler
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- jsyntaxpane.components.LineNumbersRuler
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.beans.PropertyChangeListener
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
,javax.swing.event.CaretListener
,javax.swing.event.DocumentListener
,SyntaxComponent
public class LineNumbersRuler extends javax.swing.JPanel implements javax.swing.event.CaretListener, javax.swing.event.DocumentListener, java.beans.PropertyChangeListener, SyntaxComponent
This class will display line numbers for a related text component. The text component must use the same line height for each line. This class was designed to be used as a component added to the row header of a JScrollPane. Original code from http://tips4java.wordpress.com/2009/05/23/text-component-line-number/- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
-
Nested classes/interfaces inherited from interface jsyntaxpane.components.SyntaxComponent
SyntaxComponent.Status
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_L_MARGIN
static int
DEFAULT_R_MARGIN
static java.lang.String
PROPERTY_BACKGROUND
static java.lang.String
PROPERTY_CURRENT_BACK
static java.lang.String
PROPERTY_FOREGROUND
static java.lang.String
PROPERTY_LEFT_MARGIN
static java.lang.String
PROPERTY_RIGHT_MARGIN
static java.lang.String
PROPERTY_Y_OFFSET
-
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
-
-
Constructor Summary
Constructors Constructor Description LineNumbersRuler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
caretUpdate(javax.swing.event.CaretEvent e)
void
changedUpdate(javax.swing.event.DocumentEvent e)
void
config(Configuration config)
Configure the component using the given properties.void
deinstall(javax.swing.JEditorPane editor)
Called when the component is to be removed from the editorint
getMinimumDisplayDigits()
Gets the minimum display digitsjavax.swing.JScrollPane
getScrollPane(javax.swing.text.JTextComponent editorPane)
Get the JscrollPane that contains this EditorPane, or null if no JScrollPane is the parent of this editorvoid
insertUpdate(javax.swing.event.DocumentEvent e)
void
install(javax.swing.JEditorPane editor)
Called to install the component on an editorvoid
paintComponent(java.awt.Graphics g)
Draw the line numbersvoid
propertyChange(java.beans.PropertyChangeEvent evt)
Implement PropertyChangeListener interfacevoid
removeUpdate(javax.swing.event.DocumentEvent e)
void
setMinimumDisplayDigits(int minimumDisplayDigits)
Specify the minimum number of digits used to calculate the preferred width of the component.-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, 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, isValidateRoot, paint, paintBorder, paintChildren, 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, setLayout, 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, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
PROPERTY_BACKGROUND
public static final java.lang.String PROPERTY_BACKGROUND
- See Also:
- Constant Field Values
-
PROPERTY_FOREGROUND
public static final java.lang.String PROPERTY_FOREGROUND
- See Also:
- Constant Field Values
-
PROPERTY_CURRENT_BACK
public static final java.lang.String PROPERTY_CURRENT_BACK
- See Also:
- Constant Field Values
-
PROPERTY_LEFT_MARGIN
public static final java.lang.String PROPERTY_LEFT_MARGIN
- See Also:
- Constant Field Values
-
PROPERTY_RIGHT_MARGIN
public static final java.lang.String PROPERTY_RIGHT_MARGIN
- See Also:
- Constant Field Values
-
PROPERTY_Y_OFFSET
public static final java.lang.String PROPERTY_Y_OFFSET
- See Also:
- Constant Field Values
-
DEFAULT_R_MARGIN
public static final int DEFAULT_R_MARGIN
- See Also:
- Constant Field Values
-
DEFAULT_L_MARGIN
public static final int DEFAULT_L_MARGIN
- See Also:
- Constant Field Values
-
-
Method Detail
-
getScrollPane
public javax.swing.JScrollPane getScrollPane(javax.swing.text.JTextComponent editorPane)
Get the JscrollPane that contains this EditorPane, or null if no JScrollPane is the parent of this editor- Parameters:
editorPane
-- Returns:
-
config
public void config(Configuration config)
Description copied from interface:SyntaxComponent
Configure the component using the given properties. The keys needed for configuration will be prefixed by the given prefix- Specified by:
config
in interfaceSyntaxComponent
- Parameters:
config
- configuration data
-
install
public void install(javax.swing.JEditorPane editor)
Description copied from interface:SyntaxComponent
Called to install the component on an editor- Specified by:
install
in interfaceSyntaxComponent
-
deinstall
public void deinstall(javax.swing.JEditorPane editor)
Description copied from interface:SyntaxComponent
Called when the component is to be removed from the editor- Specified by:
deinstall
in interfaceSyntaxComponent
-
getMinimumDisplayDigits
public int getMinimumDisplayDigits()
Gets the minimum display digits- Returns:
- the minimum display digits
-
setMinimumDisplayDigits
public void setMinimumDisplayDigits(int minimumDisplayDigits)
Specify the minimum number of digits used to calculate the preferred width of the component. Default is 3.- Parameters:
minimumDisplayDigits
- the number digits used in the preferred width calculation
-
paintComponent
public void paintComponent(java.awt.Graphics g)
Draw the line numbers- Overrides:
paintComponent
in classjavax.swing.JComponent
-
caretUpdate
public void caretUpdate(javax.swing.event.CaretEvent e)
- Specified by:
caretUpdate
in interfacejavax.swing.event.CaretListener
-
changedUpdate
public void changedUpdate(javax.swing.event.DocumentEvent e)
- Specified by:
changedUpdate
in interfacejavax.swing.event.DocumentListener
-
insertUpdate
public void insertUpdate(javax.swing.event.DocumentEvent e)
- Specified by:
insertUpdate
in interfacejavax.swing.event.DocumentListener
-
removeUpdate
public void removeUpdate(javax.swing.event.DocumentEvent e)
- Specified by:
removeUpdate
in interfacejavax.swing.event.DocumentListener
-
propertyChange
public void propertyChange(java.beans.PropertyChangeEvent evt)
Implement PropertyChangeListener interface- Specified by:
propertyChange
in interfacejava.beans.PropertyChangeListener
-
-