fri.gui.swing.polytreetable
Class PolyTreeTableCellRenderer

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JLabel
                          |
                          +--javax.swing.table.DefaultTableCellRenderer
                                |
                                +--fri.gui.swing.polytreetable.PolyTreeTableCellRenderer
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.swing.SwingConstants, javax.swing.table.TableCellRenderer

public class PolyTreeTableCellRenderer
extends javax.swing.table.DefaultTableCellRenderer

CellRenderer for the PolyTreeTable. The indentation of tree nodes is managed here by setting an icon that can have a dynamical width. The indent width gets set in this class.

Author:
Ritzberger Fritz
See Also:
TreeIndentIcon, Serialized Form

Field Summary
protected  TreeIndentIcon closedChildIcon
           
protected  TreeIndentIcon closedParentIcon
           
protected  TreeIndentIcon emptyChildIcon
           
protected  javax.swing.Icon emptyExpandControl
           
protected  TreeIndentIcon emptyParentIcon
           
protected  boolean expanded
           
static int INDENT_PIXELS
           
protected  boolean inited
           
protected  boolean isChildLeaf
           
protected  boolean isEmpty
           
protected  boolean isLeftToRight
           
protected  boolean isParentLeaf
           
protected  TreeIndentIcon leafChildIcon
           
protected  TreeIndentIcon leafParentIcon
           
protected  int level
           
protected  TreeIndentIcon openChildIcon
           
protected  TreeIndentIcon openChildRightAlignedIcon
           
protected  TreeIndentIcon openParentIcon
           
protected  TreeIndentIcon openParentLeftAlignedIcon
           
protected  javax.swing.JLabel rootLabel
           
protected  javax.swing.JLabel rootLeft
           
protected  javax.swing.JPanel rootRenderer
           
protected  javax.swing.JLabel rootRight
           
protected  int row
           
protected  PolyTreeTable treetable
           
 
Fields inherited from class javax.swing.table.DefaultTableCellRenderer
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
PolyTreeTableCellRenderer()
           
 
Method Summary
 boolean alignRight()
           
protected  javax.swing.Icon getClosedTreeIcon()
           
protected  javax.swing.Icon getCollapsedChildControl()
           
protected  javax.swing.Icon getCollapsedParentControl()
           
protected  javax.swing.Icon getExpandedChildControl()
           
protected  javax.swing.Icon getExpandedParentControl()
           
static int getIndent(int level)
          Returns pixel ident for a tree level.
protected  javax.swing.Icon getLeafTreeIcon()
           
 javax.swing.Icon getLeftRootIcon()
          Returns left root icon.
protected  javax.swing.Icon getOpenTreeIcon()
           
 javax.swing.Icon getRightRootIcon()
          Returns right root icon.
 java.awt.Component getTableCellRendererComponent(javax.swing.JTable table, java.lang.Object value, boolean selected, boolean focus, int row, int col)
           
protected  void setValue(java.lang.Object value)
           
 void updateUI()
          Overridden to update JPanel of "lead term" (root) renderer.
 
Methods inherited from class javax.swing.table.DefaultTableCellRenderer
firePropertyChange, firePropertyChange, isOpaque, repaint, repaint, revalidate, setBackground, setForeground, 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
 
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, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, 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

INDENT_PIXELS

public static int INDENT_PIXELS

openParentIcon

protected TreeIndentIcon openParentIcon

closedParentIcon

protected TreeIndentIcon closedParentIcon

leafParentIcon

protected TreeIndentIcon leafParentIcon

emptyParentIcon

protected TreeIndentIcon emptyParentIcon

openChildIcon

protected TreeIndentIcon openChildIcon

closedChildIcon

protected TreeIndentIcon closedChildIcon

leafChildIcon

protected TreeIndentIcon leafChildIcon

emptyChildIcon

protected TreeIndentIcon emptyChildIcon

openParentLeftAlignedIcon

protected TreeIndentIcon openParentLeftAlignedIcon

openChildRightAlignedIcon

protected TreeIndentIcon openChildRightAlignedIcon

emptyExpandControl

protected javax.swing.Icon emptyExpandControl

level

protected int level

row

protected int row

treetable

protected PolyTreeTable treetable

inited

protected boolean inited

expanded

protected boolean expanded

isChildLeaf

protected boolean isChildLeaf

isParentLeaf

protected boolean isParentLeaf

isEmpty

protected boolean isEmpty

isLeftToRight

protected boolean isLeftToRight

rootRenderer

protected javax.swing.JPanel rootRenderer

rootLeft

protected javax.swing.JLabel rootLeft

rootRight

protected javax.swing.JLabel rootRight

rootLabel

protected javax.swing.JLabel rootLabel
Constructor Detail

PolyTreeTableCellRenderer

public PolyTreeTableCellRenderer()
Method Detail

getTableCellRendererComponent

public java.awt.Component getTableCellRendererComponent(javax.swing.JTable table,
                                                        java.lang.Object value,
                                                        boolean selected,
                                                        boolean focus,
                                                        int row,
                                                        int col)
Specified by:
getTableCellRendererComponent in interface javax.swing.table.TableCellRenderer
Overrides:
getTableCellRendererComponent in class javax.swing.table.DefaultTableCellRenderer

alignRight

public boolean alignRight()

setValue

protected void setValue(java.lang.Object value)
Overrides:
setValue in class javax.swing.table.DefaultTableCellRenderer

getLeftRootIcon

public javax.swing.Icon getLeftRootIcon()
Returns left root icon. This is needed for the PolyTreeTableCellEditor.


getRightRootIcon

public javax.swing.Icon getRightRootIcon()
Returns right root icon. This is needed for the PolyTreeTableCellEditor.


getIndent

public static int getIndent(int level)
Returns pixel ident for a tree level. This must not be called for root!


getLeafTreeIcon

protected javax.swing.Icon getLeafTreeIcon()

getOpenTreeIcon

protected javax.swing.Icon getOpenTreeIcon()

getClosedTreeIcon

protected javax.swing.Icon getClosedTreeIcon()

getCollapsedParentControl

protected javax.swing.Icon getCollapsedParentControl()

getExpandedParentControl

protected javax.swing.Icon getExpandedParentControl()

getCollapsedChildControl

protected javax.swing.Icon getCollapsedChildControl()

getExpandedChildControl

protected javax.swing.Icon getExpandedChildControl()

updateUI

public void updateUI()
Overridden to update JPanel of "lead term" (root) renderer.

Overrides:
updateUI in class javax.swing.table.DefaultTableCellRenderer