org.fife.ui.autocomplete
Class CompletionCellRenderer

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JLabel
                  extended byjavax.swing.DefaultListCellRenderer
                      extended byorg.fife.ui.autocomplete.CompletionCellRenderer
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, javax.swing.ListCellRenderer, java.awt.MenuContainer, java.io.Serializable, javax.swing.SwingConstants

public class CompletionCellRenderer
extends javax.swing.DefaultListCellRenderer

A cell renderer that adds some pizazz when rendering the standard Completion types, like Eclipse and NetBeans do. Specifically, this renderer handles:

Version:
1.0
Author:
Robert Futrell
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.DefaultListCellRenderer
javax.swing.DefaultListCellRenderer.UIResource
 
Nested classes inherited from class javax.swing.JLabel
javax.swing.JLabel.AccessibleJLabel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.DefaultListCellRenderer
noFocusBorder
 
Fields inherited from class javax.swing.JLabel
labelFor
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
CompletionCellRenderer()
          Constructor.
 
Method Summary
 java.awt.Color getAlternateBackground()
          Returns the background color to use on alternating lines.
 java.awt.Font getDisplayFont()
          Returns the font used when rendering completions.
 java.awt.Component getListCellRendererComponent(javax.swing.JList list, java.lang.Object value, int index, boolean selected, boolean hasFocus)
          Returns the renderer.
protected  void prepareForFunctionCompletion(javax.swing.JList list, FunctionCompletion fc, int index, boolean selected, boolean hasFocus)
          Prepares this renderer to display a function completion.
protected  void prepareForMarkupTagCompletion(javax.swing.JList list, MarkupTagCompletion mc, int index, boolean selected, boolean hasFocus)
          Prepares this renderer to display a markup tag completion.
protected  void prepareForOtherCompletion(javax.swing.JList list, Completion c, int index, boolean selected, boolean hasFocus)
          Prepares this renderer to display a completion not specifically handled elsewhere.
protected  void prepareForVariableCompletion(javax.swing.JList list, VariableCompletion vc, int index, boolean selected, boolean hasFocus)
          Prepares this renderer to display a variable completion.
 void setAlternateBackground(java.awt.Color altBG)
          Sets the background color to use on alternating lines.
 void setDisplayFont(java.awt.Font font)
          Sets the font to use when rendering completion items.
 
Methods inherited from class javax.swing.DefaultListCellRenderer
firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, repaint, repaint, revalidate, validate
 
Methods inherited from class javax.swing.JLabel
checkHorizontalKey, checkVerticalKey, getAccessibleContext, getDisabledIcon, getDisplayedMnemonic, getDisplayedMnemonicIndex, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getLabelFor, getText, getUI, getUIClassID, getVerticalAlignment, getVerticalTextPosition, imageUpdate, paramString, setDisabledIcon, setDisplayedMnemonic, setDisplayedMnemonic, setDisplayedMnemonicIndex, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabelFor, setText, setUI, setVerticalAlignment, setVerticalTextPosition, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CompletionCellRenderer

public CompletionCellRenderer()
Constructor.

Method Detail

getAlternateBackground

public java.awt.Color getAlternateBackground()
Returns the background color to use on alternating lines.

Returns:
The altnernate background color. If this is null, alternating colors are not used.
See Also:
setAlternateBackground(Color)

getDisplayFont

public java.awt.Font getDisplayFont()
Returns the font used when rendering completions.

Returns:
The font. If this is null, then the default list font is used.
See Also:
setDisplayFont(Font)

getListCellRendererComponent

public java.awt.Component getListCellRendererComponent(javax.swing.JList list,
                                                       java.lang.Object value,
                                                       int index,
                                                       boolean selected,
                                                       boolean hasFocus)
Returns the renderer.

Parameters:
list - The list of choices being rendered.
value - The Completion being rendered.
index - The index into list being rendered.
selected - Whether the item is selected.
hasFocus - Whether the item has focus.

prepareForFunctionCompletion

protected void prepareForFunctionCompletion(javax.swing.JList list,
                                            FunctionCompletion fc,
                                            int index,
                                            boolean selected,
                                            boolean hasFocus)
Prepares this renderer to display a function completion.

Parameters:
list - The list of choices being rendered.
fc - The completion to render.
index - The index into list being rendered.
selected - Whether the item is selected.
hasFocus - Whether the item has focus.

prepareForMarkupTagCompletion

protected void prepareForMarkupTagCompletion(javax.swing.JList list,
                                             MarkupTagCompletion mc,
                                             int index,
                                             boolean selected,
                                             boolean hasFocus)
Prepares this renderer to display a markup tag completion.

Parameters:
list - The list of choices being rendered.
mc - The completion to render.
index - The index into list being rendered.
selected - Whether the item is selected.
hasFocus - Whether the item has focus.

prepareForOtherCompletion

protected void prepareForOtherCompletion(javax.swing.JList list,
                                         Completion c,
                                         int index,
                                         boolean selected,
                                         boolean hasFocus)
Prepares this renderer to display a completion not specifically handled elsewhere.

Parameters:
list - The list of choices being rendered.
c - The completion to render.
index - The index into list being rendered.
selected - Whether the item is selected.
hasFocus - Whether the item has focus.

prepareForVariableCompletion

protected void prepareForVariableCompletion(javax.swing.JList list,
                                            VariableCompletion vc,
                                            int index,
                                            boolean selected,
                                            boolean hasFocus)
Prepares this renderer to display a variable completion.

Parameters:
list - The list of choices being rendered.
vc - The completion to render.
index - The index into list being rendered.
selected - Whether the item is selected.
hasFocus - Whether the item has focus.

setAlternateBackground

public void setAlternateBackground(java.awt.Color altBG)
Sets the background color to use on alternating lines.

Parameters:
altBG - The new alternate background color. If this is null, alternating lines will not use different background colors.
See Also:
getAlternateBackground()

setDisplayFont

public void setDisplayFont(java.awt.Font font)
Sets the font to use when rendering completion items.

Parameters:
font - The font to use. If this is null, then the default list font is used.
See Also:
getDisplayFont()