org.fife.ui.autocomplete
Class CompletionCellRenderer

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JLabel
                  extended by javax.swing.DefaultListCellRenderer
                      extended by org.fife.ui.autocomplete.CompletionCellRenderer
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, ListCellRenderer, SwingConstants

public class CompletionCellRenderer
extends 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/interfaces inherited from class javax.swing.DefaultListCellRenderer
DefaultListCellRenderer.UIResource
 
Nested classes/interfaces inherited from class javax.swing.JLabel
JLabel.AccessibleJLabel
 
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
 
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
static Color getAlternateBackground()
          Returns the background color to use on alternating lines.
 Font getDisplayFont()
          Returns the font used when rendering completions.
 Component getListCellRendererComponent(JList list, Object value, int index, boolean selected, boolean hasFocus)
          Returns the renderer.
 boolean getShowTypes()
          Returns whether the types of fields and return types of methods are shown in the completion text.
protected  void paintComponent(Graphics g)
           
protected  void prepareForFunctionCompletion(JList list, FunctionCompletion fc, int index, boolean selected, boolean hasFocus)
          Prepares this renderer to display a function completion.
protected  void prepareForMarkupTagCompletion(JList list, MarkupTagCompletion mc, int index, boolean selected, boolean hasFocus)
          Prepares this renderer to display a markup tag completion.
protected  void prepareForOtherCompletion(JList list, Completion c, int index, boolean selected, boolean hasFocus)
          Prepares this renderer to display a completion not specifically handled elsewhere.
protected  void prepareForVariableCompletion(JList list, VariableCompletion vc, int index, boolean selected, boolean hasFocus)
          Prepares this renderer to display a variable completion.
static void setAlternateBackground(Color altBG)
          Sets the background color to use on alternating lines.
 void setDisplayFont(Font font)
          Sets the font to use when rendering completion items.
 void setShowTypes(boolean show)
          Sets whether the types of fields and return types of methods are shown in the completion text.
 
Methods inherited from class javax.swing.DefaultListCellRenderer
firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, invalidate, isOpaque, repaint, 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, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, 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, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, 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 static Color getAlternateBackground()
Returns the background color to use on alternating lines.

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

getDisplayFont

public 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 Component getListCellRendererComponent(JList list,
                                              Object value,
                                              int index,
                                              boolean selected,
                                              boolean hasFocus)
Returns the renderer.

Specified by:
getListCellRendererComponent in interface ListCellRenderer
Overrides:
getListCellRendererComponent in class DefaultListCellRenderer
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.

getShowTypes

public boolean getShowTypes()
Returns whether the types of fields and return types of methods are shown in the completion text.

Returns:
Whether to show the types.
See Also:
setShowTypes(boolean)

paintComponent

protected void paintComponent(Graphics g)
Overrides:
paintComponent in class JComponent

prepareForFunctionCompletion

protected void prepareForFunctionCompletion(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(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(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(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 static void setAlternateBackground(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(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()

setShowTypes

public void setShowTypes(boolean show)
Sets whether the types of fields and return types of methods are shown in the completion text.

Parameters:
show - Whether to show the types.
See Also:
getShowTypes()


Copyright © 2003-2011. All Rights Reserved.