project35.desktopDeployment
Class TreeNodeRenderer

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 project35.desktopDeployment.TreeNodeRenderer
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.SwingConstants, javax.swing.tree.TreeCellRenderer

public class TreeNodeRenderer
extends javax.swing.JLabel
implements javax.swing.tree.TreeCellRenderer

Renders project35 tree nodes. Returns a new instance of DefaultTreeCellRenderer. Alignment is set to left aligned. Icons and text color are determined from the UIManager.


Copyright (c) 2008 Kevin Garwood for Project35. The original code was developed by Kevin Garwood for the University of Manchester. Revisions have been made for Project35, a project that is independent of that institution. This code is licensed under the Academic Free License version 3.0. The code attribution for the original code is included here:

Copyright (c) Kevin Garwood and University of Manchester 2007. All rights reserved. Licensed under the Academic Free License version 3.0. For more information on the terms and conditions, please see the file "LICENSE" that is included in this distribution.


Version:
1.0
Author:
Kevin Garwood (kgarwood@users.sourceforge.net)
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  javax.swing.ImageIcon changedClosedIcon
           
protected  javax.swing.ImageIcon changedLeafIcon
           
protected  javax.swing.ImageIcon changedOpenIcon
           
protected  javax.swing.ImageIcon closedIcon
           
protected  boolean hasFocus
          True if has focus.
protected  javax.swing.ImageIcon leafIcon
           
protected  javax.swing.ImageIcon openIcon
           
protected  boolean selected
          Is the value currently selected.
 
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
TreeNodeRenderer(Project35UIFactory project35UIFactory)
           
TreeNodeRenderer(Project35UIFactory project35UIFactory, java.lang.String name)
           
 
Method Summary
 void determineTextColour()
           
 void firePropertyChange(java.lang.String propertyName, boolean oldValue, boolean newValue)
           
 void firePropertyChange(java.lang.String propertyName, byte oldValue, byte newValue)
           
 void firePropertyChange(java.lang.String propertyName, char oldValue, char newValue)
           
 void firePropertyChange(java.lang.String propertyName, double oldValue, double newValue)
           
 void firePropertyChange(java.lang.String propertyName, float oldValue, float newValue)
           
 void firePropertyChange(java.lang.String propertyName, int oldValue, int newValue)
           
 void firePropertyChange(java.lang.String propertyName, long oldValue, long newValue)
           
protected  void firePropertyChange(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)
           
 void firePropertyChange(java.lang.String propertyName, short oldValue, short newValue)
           
 javax.swing.Icon getClosedIcon()
          Returns the icon used to represent non-leaf nodes that are not expanded.
 javax.swing.Icon getDefaultClosedIcon()
          Returns the default icon, for the current laf, that is used to represent non-leaf nodes that are not expanded.
 javax.swing.Icon getDefaultLeafIcon()
          Returns the default icon, for the current laf, that is used to represent leaf nodes.
 javax.swing.Icon getDefaultOpenIcon()
          Returns the default icon, for the current laf, that is used to represent non-leaf nodes that are expanded.
 javax.swing.Icon getLeafIcon()
          Returns the icon used to represent leaf nodes.
 javax.swing.Icon getOpenIcon()
          Returns the icon used to represent non-leaf nodes that are expanded.
 java.awt.Dimension getPreferredSize()
           
 java.awt.Component getTreeCellRendererComponent(javax.swing.JTree tree, java.lang.Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus)
           
 void paint(java.awt.Graphics graphics)
          Paints the value.
 void repaint(long tm, int x, int y, int width, int height)
           
 void repaint(java.awt.Rectangle r)
           
 void revalidate()
           
 void setBackground(java.awt.Color color)
           
 void setChanged(boolean isChanged)
           
 void setClosedIcon(javax.swing.ImageIcon newIcon)
          Sets the icon used to represent non-leaf nodes that are not expanded.
 void setFont(java.awt.Font font)
           
 void setLeafIcon(javax.swing.ImageIcon newIcon)
          Sets the icon used to represent leaf nodes.
 void setOpenIcon(javax.swing.ImageIcon newIcon)
          Sets the icon used to represent non-leaf nodes that are expanded.
 void setSelected(boolean isSelected)
          sets selected.
 void setShowComments(boolean hasComments)
           
 void setShowDeleted(boolean showDeleted)
          set show deleted.
 void setShowError(boolean showError)
          sets show error.
 void setShowReference(boolean showReference)
           
 void setShowSearchResult(boolean showSearchResult)
           
 void 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, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, 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, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, 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

selected

protected boolean selected
Is the value currently selected.


hasFocus

protected boolean hasFocus
True if has focus.


changedClosedIcon

protected transient javax.swing.ImageIcon changedClosedIcon

closedIcon

protected transient javax.swing.ImageIcon closedIcon

changedOpenIcon

protected transient javax.swing.ImageIcon changedOpenIcon

openIcon

protected transient javax.swing.ImageIcon openIcon

changedLeafIcon

protected transient javax.swing.ImageIcon changedLeafIcon

leafIcon

protected transient javax.swing.ImageIcon leafIcon
Constructor Detail

TreeNodeRenderer

public TreeNodeRenderer(Project35UIFactory project35UIFactory,
                        java.lang.String name)

TreeNodeRenderer

public TreeNodeRenderer(Project35UIFactory project35UIFactory)
Method Detail

getLeafIcon

public javax.swing.Icon getLeafIcon()
Returns the icon used to represent leaf nodes.


getDefaultOpenIcon

public javax.swing.Icon getDefaultOpenIcon()
Returns the default icon, for the current laf, that is used to represent non-leaf nodes that are expanded.


getDefaultClosedIcon

public javax.swing.Icon getDefaultClosedIcon()
Returns the default icon, for the current laf, that is used to represent non-leaf nodes that are not expanded.


getDefaultLeafIcon

public javax.swing.Icon getDefaultLeafIcon()
Returns the default icon, for the current laf, that is used to represent leaf nodes.


getOpenIcon

public javax.swing.Icon getOpenIcon()
Returns the icon used to represent non-leaf nodes that are expanded.


getClosedIcon

public javax.swing.Icon getClosedIcon()
Returns the icon used to represent non-leaf nodes that are not expanded.


setOpenIcon

public void setOpenIcon(javax.swing.ImageIcon newIcon)
Sets the icon used to represent non-leaf nodes that are expanded.


setClosedIcon

public void setClosedIcon(javax.swing.ImageIcon newIcon)
Sets the icon used to represent non-leaf nodes that are not expanded.


setLeafIcon

public void setLeafIcon(javax.swing.ImageIcon newIcon)
Sets the icon used to represent leaf nodes.


setFont

public void setFont(java.awt.Font font)
Overrides:
setFont in class javax.swing.JComponent

setBackground

public void setBackground(java.awt.Color color)
Overrides:
setBackground in class javax.swing.JComponent

setSelected

public void setSelected(boolean isSelected)
sets selected. A selected node appears in green.

Parameters:
isSelected - true if the node is selected; otherwise false

setShowComments

public void setShowComments(boolean hasComments)

setShowError

public void setShowError(boolean showError)
sets show error. Nodes that have an error will show up as red

Parameters:
showError - true if node should appear with an error. Otherwise false.

setShowDeleted

public void setShowDeleted(boolean showDeleted)
set show deleted. Deleted nodes appear with a dashed-border outline


setShowSearchResult

public void setShowSearchResult(boolean showSearchResult)

setChanged

public void setChanged(boolean isChanged)

setShowReference

public void setShowReference(boolean showReference)

getTreeCellRendererComponent

public java.awt.Component getTreeCellRendererComponent(javax.swing.JTree tree,
                                                       java.lang.Object value,
                                                       boolean selected,
                                                       boolean expanded,
                                                       boolean leaf,
                                                       int row,
                                                       boolean hasFocus)
Specified by:
getTreeCellRendererComponent in interface javax.swing.tree.TreeCellRenderer

determineTextColour

public void determineTextColour()

paint

public void paint(java.awt.Graphics graphics)
Paints the value. The background is filled based on selected.

Overrides:
paint in class javax.swing.JComponent

getPreferredSize

public java.awt.Dimension getPreferredSize()
Overrides:
getPreferredSize in class javax.swing.JComponent

validate

public void validate()
Overrides:
validate in class java.awt.Container

revalidate

public void revalidate()
Overrides:
revalidate in class javax.swing.JComponent

repaint

public void repaint(long tm,
                    int x,
                    int y,
                    int width,
                    int height)
Overrides:
repaint in class javax.swing.JComponent

repaint

public void repaint(java.awt.Rectangle r)
Overrides:
repaint in class javax.swing.JComponent

firePropertyChange

protected void firePropertyChange(java.lang.String propertyName,
                                  java.lang.Object oldValue,
                                  java.lang.Object newValue)
Overrides:
firePropertyChange in class java.awt.Component

firePropertyChange

public void firePropertyChange(java.lang.String propertyName,
                               byte oldValue,
                               byte newValue)
Overrides:
firePropertyChange in class java.awt.Component

firePropertyChange

public void firePropertyChange(java.lang.String propertyName,
                               char oldValue,
                               char newValue)
Overrides:
firePropertyChange in class javax.swing.JComponent

firePropertyChange

public void firePropertyChange(java.lang.String propertyName,
                               short oldValue,
                               short newValue)
Overrides:
firePropertyChange in class java.awt.Component

firePropertyChange

public void firePropertyChange(java.lang.String propertyName,
                               int oldValue,
                               int newValue)
Overrides:
firePropertyChange in class javax.swing.JComponent

firePropertyChange

public void firePropertyChange(java.lang.String propertyName,
                               long oldValue,
                               long newValue)
Overrides:
firePropertyChange in class java.awt.Component

firePropertyChange

public void firePropertyChange(java.lang.String propertyName,
                               float oldValue,
                               float newValue)
Overrides:
firePropertyChange in class java.awt.Component

firePropertyChange

public void firePropertyChange(java.lang.String propertyName,
                               double oldValue,
                               double newValue)
Overrides:
firePropertyChange in class java.awt.Component

firePropertyChange

public void firePropertyChange(java.lang.String propertyName,
                               boolean oldValue,
                               boolean newValue)
Overrides:
firePropertyChange in class javax.swing.JComponent