ilog.views.util.swing
Class IlvAbstractCellRenderer

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 ilog.views.util.swing.IlvAbstractCellRenderer
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, SwingConstants
Direct Known Subclasses:
IlvDefaultCalendarCellRenderer, IlvDefaultCalendarHeaderRenderer

public abstract class IlvAbstractCellRenderer
extends JLabel

IlvAbstractCellRenderer is an extension of JLabel that can be used as the base class for high performance cell renderer implementations for tables, trees, or other Swing components.

Implementation Note: This class inherits from JLabel, a standard component class. However, Swing components that utilize cell renderers (e.g. JTable, JTree, and so on) require some slightly modified behavior from their cell renderers. Typically, the Swing component will use the same cell renderer to rubber-stamp many, if not all, of its cells. It will use the cell renderer to draw the first cell, it will change the contents of the cell renderer, it shifts the origin of the renderer to the new location, re-draws it, and so on. The standard JLabel component was not designed to be used this way and we want to avoid triggering a revalidate each time the cell is drawn. This would greatly decrease performance because the revalidate message would be passed up the hierarchy of the container to determine whether any other components would be affected. So this class overrides the validate(), revalidate(), repaint(long, int, int, int, int), and firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object) methods to be no-ops. If you write your own renderers from scratch, you should keep this performance consideration in mind.

Since:
JViews 5.5
See Also:
Serialized Form

Nested Class Summary
 
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.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
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
IlvAbstractCellRenderer()
          Creates an IlvAbstractCellRenderer instance with no image and with an empty string for the text.
 
Method Summary
 void firePropertyChange(String propertyName, boolean oldValue, boolean newValue)
          This method is overridden for performance reasons.
 void firePropertyChange(String propertyName, byte oldValue, byte newValue)
          This method is overridden for performance reasons.
 void firePropertyChange(String propertyName, char oldValue, char newValue)
          This method is overridden for performance reasons.
 void firePropertyChange(String propertyName, double oldValue, double newValue)
          This method is overridden for performance reasons.
 void firePropertyChange(String propertyName, float oldValue, float newValue)
          This method is overridden for performance reasons.
 void firePropertyChange(String propertyName, int oldValue, int newValue)
          This method is overridden for performance reasons.
 void firePropertyChange(String propertyName, long oldValue, long newValue)
          This method is overridden for performance reasons.
protected  void firePropertyChange(String propertyName, Object oldValue, Object newValue)
          This method is overridden for performance reasons.
 void firePropertyChange(String propertyName, short oldValue, short newValue)
          This method is overridden for performance reasons.
 void repaint(long tm, int x, int y, int width, int height)
          This method is overridden for performance reasons.
 void repaint(Rectangle r)
          This method is overridden for performance reasons.
 void revalidate()
          This method is overridden for performance reasons.
 void validate()
          This method is overridden for performance reasons.
 
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, 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, 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
 

Constructor Detail

IlvAbstractCellRenderer

public IlvAbstractCellRenderer()
Creates an IlvAbstractCellRenderer instance with no image and with an empty string for the text. The label is centered vertically in its display area. The label's contents, once set, will be displayed on the leading edge of the label's display area. The renderer will be opaque by default.

Method Detail

validate

public void validate()
This method is overridden for performance reasons. See the Implementation Note for more information.

Overrides:
validate in class Container

revalidate

public void revalidate()
This method is overridden for performance reasons. See the Implementation Note for more information.

Overrides:
revalidate in class JComponent

repaint

public void repaint(long tm,
                    int x,
                    int y,
                    int width,
                    int height)
This method is overridden for performance reasons. See the Implementation Note for more information.

Overrides:
repaint in class JComponent

repaint

public void repaint(Rectangle r)
This method is overridden for performance reasons. See the Implementation Note for more information.

Overrides:
repaint in class JComponent

firePropertyChange

protected void firePropertyChange(String propertyName,
                                  Object oldValue,
                                  Object newValue)
This method is overridden for performance reasons. See the Implementation Note for more information.

Overrides:
firePropertyChange in class Component

firePropertyChange

public void firePropertyChange(String propertyName,
                               byte oldValue,
                               byte newValue)
This method is overridden for performance reasons. See the Implementation Note for more information.

Overrides:
firePropertyChange in class Component

firePropertyChange

public void firePropertyChange(String propertyName,
                               char oldValue,
                               char newValue)
This method is overridden for performance reasons. See the Implementation Note for more information.

Overrides:
firePropertyChange in class JComponent

firePropertyChange

public void firePropertyChange(String propertyName,
                               short oldValue,
                               short newValue)
This method is overridden for performance reasons. See the Implementation Note for more information.

Overrides:
firePropertyChange in class Component

firePropertyChange

public void firePropertyChange(String propertyName,
                               int oldValue,
                               int newValue)
This method is overridden for performance reasons. See the Implementation Note for more information.

Overrides:
firePropertyChange in class JComponent

firePropertyChange

public void firePropertyChange(String propertyName,
                               long oldValue,
                               long newValue)
This method is overridden for performance reasons. See the Implementation Note for more information.

Overrides:
firePropertyChange in class Component

firePropertyChange

public void firePropertyChange(String propertyName,
                               float oldValue,
                               float newValue)
This method is overridden for performance reasons. See the Implementation Note for more information.

Overrides:
firePropertyChange in class Component

firePropertyChange

public void firePropertyChange(String propertyName,
                               double oldValue,
                               double newValue)
This method is overridden for performance reasons. See the Implementation Note for more information.

Overrides:
firePropertyChange in class Component

firePropertyChange

public void firePropertyChange(String propertyName,
                               boolean oldValue,
                               boolean newValue)
This method is overridden for performance reasons. See the Implementation Note for more information.

Overrides:
firePropertyChange in class JComponent


Copyright © 1996-2007 ILOG S.A. All rights reserved.   Documentation homepage.