table.model.renderer
Class SimpleRenderer

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JLabel
                          |
                          +--table.model.renderer.SimpleRenderer
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.swing.SwingConstants, javax.swing.table.TableCellRenderer
Direct Known Subclasses:
NumberRenderer

public class SimpleRenderer
extends javax.swing.JLabel
implements javax.swing.table.TableCellRenderer

Simple renderer for grouped data.

Version:
1.0
Author:
Stanislav Lapitsky
See Also:
Serialized Form

Field Summary
private static int defaultGroupCount
           
protected  java.awt.Color[] groupBackgrounds
          Group backgrounds.
protected  java.awt.Font[] groupFonts
          Group fonts.
protected  java.awt.Color[] groupForegrounds
          Group foregrounds.
protected static javax.swing.border.Border noFocusBorder
          Border for non focused cell.
(package private)  boolean showGroupText
           
private  java.awt.Color unselectedBackground
           
private  java.awt.Color unselectedForeground
           
 
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.Container
 
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
SimpleRenderer()
          Constructs new renderer instance with default parameters.
SimpleRenderer(boolean showGroupText)
          Constructs new renderer instance with flag indicating whether group function text should be shown.
 
Method Summary
protected  void createDefaults()
          Create default colors and fonts.
protected  java.lang.String createGroupText(int columnIndex, int rowIndex, EnvelopeTableModel model)
          Gets group function dependent text.
 void firePropertyChange(java.lang.String propertyName, boolean oldValue, boolean newValue)
          Overridden for performance reasons.
protected  void firePropertyChange(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)
          Overridden for performance reasons.
 java.awt.Color[] getGroupBackgrounds()
          Gets group data backgrounds.
 java.awt.Font[] getGroupFonts()
          Gets group data fonts.
 java.awt.Color[] getGroupForegrounds()
          Gets group data foregrounds.
 java.awt.Component getTableCellRendererComponent(javax.swing.JTable table, java.lang.Object value, boolean isSelected, boolean hasFocus, int rowIndex, int column)
          Returns the component used for drawing the cell.
 boolean isOpaque()
          Overridden for performance reasons.
 void repaint(long tm, int x, int y, int width, int height)
          Overridden for performance reasons.
 void repaint(java.awt.Rectangle r)
          Overridden for performance reasons.
 void revalidate()
          Overridden for performance reasons.
 void setGroupBackgrounds(java.awt.Color[] backgrounds)
          Sets group data backgrounds.
 void setGroupFonts(java.awt.Font[] fonts)
          Sets group data fonts.
 void setGroupForegrounds(java.awt.Color[] foregrounds)
          Sets group data foregrounds.
protected  void setValue(java.lang.Object value)
          Sets component's text.
 void validate()
          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, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, 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, 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
 

Field Detail

groupBackgrounds

protected java.awt.Color[] groupBackgrounds
Group backgrounds. Each Color is assotiated with appropriate group level.


groupForegrounds

protected java.awt.Color[] groupForegrounds
Group foregrounds. Each Color is assotiated with appropriate group level.


groupFonts

protected java.awt.Font[] groupFonts
Group fonts. Each Font is assotiated with appropriate group level.


noFocusBorder

protected static javax.swing.border.Border noFocusBorder
Border for non focused cell.


unselectedForeground

private java.awt.Color unselectedForeground

unselectedBackground

private java.awt.Color unselectedBackground

defaultGroupCount

private static final int defaultGroupCount
See Also:
Constant Field Values

showGroupText

boolean showGroupText
Constructor Detail

SimpleRenderer

public SimpleRenderer()
Constructs new renderer instance with default parameters.


SimpleRenderer

public SimpleRenderer(boolean showGroupText)
Constructs new renderer instance with flag indicating whether group function text should be shown.

Parameters:
showGroupText -
Method Detail

createDefaults

protected void createDefaults()
Create default colors and fonts.


getTableCellRendererComponent

public java.awt.Component getTableCellRendererComponent(javax.swing.JTable table,
                                                        java.lang.Object value,
                                                        boolean isSelected,
                                                        boolean hasFocus,
                                                        int rowIndex,
                                                        int column)
Returns the component used for drawing the cell. This method is used to configure the renderer appropriately before drawing.

Specified by:
getTableCellRendererComponent in interface javax.swing.table.TableCellRenderer
Parameters:
table - the JTable that is asking the renderer to draw; can be null
value - the value of the cell to be rendered. It is up to the specific renderer to interpret and draw the value. For example, if value is the string "true", it could be rendered as a string or it could be rendered as a check box that is checked. null is a valid value
isSelected - true if the cell is to be rendered with the selection highlighted; otherwise false
hasFocus - if true, render cell appropriately. For example, put a special border on the cell, if the cell can be edited, render in the color used to indicate editing
rowIndex - the row index of the cell being drawn. When drawing the header, the value of row is -1
column - the column index of the cell being drawn

setValue

protected void setValue(java.lang.Object value)
Sets component's text.

Parameters:
value - cell value.

createGroupText

protected java.lang.String createGroupText(int columnIndex,
                                           int rowIndex,
                                           EnvelopeTableModel model)
Gets group function dependent text.

Parameters:
columnIndex - column index
rowIndex - row index
model - reference to the source model
Returns:

setGroupBackgrounds

public void setGroupBackgrounds(java.awt.Color[] backgrounds)
Sets group data backgrounds.

Parameters:
backgrounds - color list.

setGroupForegrounds

public void setGroupForegrounds(java.awt.Color[] foregrounds)
Sets group data foregrounds.

Parameters:
foregrounds - color list.

setGroupFonts

public void setGroupFonts(java.awt.Font[] fonts)
Sets group data fonts.

Parameters:
fonts - font list.

getGroupBackgrounds

public java.awt.Color[] getGroupBackgrounds()
Gets group data backgrounds.

Returns:

getGroupForegrounds

public java.awt.Color[] getGroupForegrounds()
Gets group data foregrounds.

Returns:

getGroupFonts

public java.awt.Font[] getGroupFonts()
Gets group data fonts.

Returns:

isOpaque

public boolean isOpaque()
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
isOpaque in class javax.swing.JComponent

validate

public void validate()
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
validate in class java.awt.Container

revalidate

public void revalidate()
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
revalidate in class javax.swing.JComponent

repaint

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

Overrides:
repaint in class javax.swing.JComponent

repaint

public void repaint(java.awt.Rectangle r)
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
repaint in class javax.swing.JComponent

firePropertyChange

protected void firePropertyChange(java.lang.String propertyName,
                                  java.lang.Object oldValue,
                                  java.lang.Object newValue)
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
firePropertyChange in class javax.swing.JComponent

firePropertyChange

public void firePropertyChange(java.lang.String propertyName,
                               boolean oldValue,
                               boolean newValue)
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
firePropertyChange in class javax.swing.JComponent