ix.iface.ui
Class IXLabelRenderer

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 ix.iface.util.RendererJLabel
                      extended by ix.iface.ui.RendererLinkLabel
                          extended by ix.iface.ui.IXLabelRenderer
All Implemented Interfaces:
IXRenderer, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.ListCellRenderer, javax.swing.SwingConstants, javax.swing.table.TableCellRenderer
Direct Known Subclasses:
ActionListRenderer, EditablePriorityRenderer, FullNodeRenderer, IconRenderer, IssueRenderer, NamedRenderer, NDRenderer, NodeNameRenderer, NodeNumberRenderer, PriorityRenderer

public abstract class IXLabelRenderer
extends RendererLinkLabel
implements IXRenderer, javax.swing.table.TableCellRenderer, javax.swing.ListCellRenderer

A renderer for list or table cells. Can use text, colour, image, symbol. Expects to use a TwoField, ThreeField or FourField object to obtain up to four values, which are represented using text, colour, an image and a symbol.

The IXLabelRenderer is created with a boolean argument which determines whether the cell has a border or not. The border is used to show whether the cell/row is selected or not.

The fields unselectedBorder, selectedBorder, and isBordered are used to handle the borders of the cell if it has one. The class sub-classes RendererJLabel rather than JLabel for performance reasons (see Java API documentation of TableCellRenderer or ListCellRenderer for more detail).

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JLabel
javax.swing.JLabel.AccessibleJLabel
 
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
 
Field Summary
(package private)  int borderHeight
           
(package private)  int borderWidth
           
(package private)  boolean isBordered
          A flag to show whether the cell has a border
(package private)  boolean isLined
          A flag to show whether the cell has a line
(package private)  javax.swing.border.Border lineSelectedBorder
           
(package private)  javax.swing.border.Border lineUnselectedBorder
           
(package private)  javax.swing.border.Border selectedBorder
          A border to provide the colour of a selected border
(package private)  javax.swing.border.Border unselectedBorder
          A border to provide the colour of an unselected border
 
Fields inherited from class ix.iface.ui.RendererLinkLabel
link, linkDisplay
 
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
IXLabelRenderer(boolean isBordered)
          Makes a renderer that produces a border.
 
Method Summary
 java.awt.Component getListCellRendererComponent(javax.swing.JList list, java.lang.Object object, int index, boolean isSelected, boolean hasFocus)
          Renders a list cell in colour and text.
 java.awt.Component getTableCellRendererComponent(javax.swing.JTable table, java.lang.Object object, boolean isSelected, boolean hasFocus, int row, int column)
          Renders a table cell in colour and text.
 void setBold(boolean bold)
           
 void setBorderSize(int width, int height)
           
abstract  void setInfo(java.lang.Object object)
          Provides the information to be displayed.
 void setLined(boolean isLined)
           
 
Methods inherited from class ix.iface.ui.RendererLinkLabel
disableLink, enableLink, isLink, linkEnabled, setText
 
Methods inherited from class ix.iface.util.RendererJLabel
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, 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, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, 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, 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, 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, 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
 

Field Detail

unselectedBorder

javax.swing.border.Border unselectedBorder
A border to provide the colour of an unselected border


selectedBorder

javax.swing.border.Border selectedBorder
A border to provide the colour of a selected border


lineSelectedBorder

javax.swing.border.Border lineSelectedBorder

lineUnselectedBorder

javax.swing.border.Border lineUnselectedBorder

isBordered

boolean isBordered
A flag to show whether the cell has a border


isLined

boolean isLined
A flag to show whether the cell has a line


borderWidth

int borderWidth

borderHeight

int borderHeight
Constructor Detail

IXLabelRenderer

public IXLabelRenderer(boolean isBordered)
Makes a renderer that produces a border. The border can be used to reflect whether the cell is selected

Parameters:
isBordered - determines whether the cell has a border.
Method Detail

setLined

public void setLined(boolean isLined)

setBorderSize

public void setBorderSize(int width,
                          int height)

setBold

public void setBold(boolean bold)

getTableCellRendererComponent

public java.awt.Component getTableCellRendererComponent(javax.swing.JTable table,
                                                        java.lang.Object object,
                                                        boolean isSelected,
                                                        boolean hasFocus,
                                                        int row,
                                                        int column)
Renders a table cell in colour and text. (Public due to interface).

Specified by:
getTableCellRendererComponent in interface javax.swing.table.TableCellRenderer

getListCellRendererComponent

public java.awt.Component getListCellRendererComponent(javax.swing.JList list,
                                                       java.lang.Object object,
                                                       int index,
                                                       boolean isSelected,
                                                       boolean hasFocus)
Renders a list cell in colour and text. (Public due to interface).

Specified by:
getListCellRendererComponent in interface javax.swing.ListCellRenderer

setInfo

public abstract void setInfo(java.lang.Object object)
Provides the information to be displayed.

Example1:


  protected void setInfo(Object object) {
    if (object == null) setText("");
    else setText(((UIRefinement)object).getName());
  }
 
Example2 (NDRenderer):

    protected void setInfo(Object object) {
        FourField fourField = (FourField) object;
        Color colour = (Color) fourField.toColour();
        if (colour != null) this.setBackground(colour);
        char fieldSymbol = fourField.toSymbol();
        String fieldString = fourField.toString();
        if (java.lang.Character.isDefined(fieldSymbol)) {
          this.setText((String) fieldString + " " + fieldSymbol);}
        else this.setText((String) fieldString);
        Icon fieldIcon = fourField.toImage();
        if (fieldIcon != null) this.setIcon(fieldIcon);
    }
 

Specified by:
setInfo in interface IXRenderer