Watcher.v2_1
Class Overview

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--Watcher.v2_1.Overview
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class Overview
extends javax.swing.JPanel

Overview is a component class which inherits JPanel. It contains a JTree in a JScrollpane and methods for adding and removing Nodes from the JTree. The JTree contains three kinds of nodes defined in the Node class; a Grouping node used as root and a number of Actor nodes as children of the root node. Each of the Actor nodes has zero or more RoleSession nodes as their child nodes.

Version:
December 2001
Author:
Lars Erik Liljebäck
See Also:
Serialized Form

Inner Class Summary
 class Overview.NodeRenderer
          An internal class which extends DefaultTreeCellRenderer and decides how the Nodes and the JTree is to be rendered.
 class Overview.NodeSelectionListener
          An internal listener class which listens for MouseEvents generated by the user pressing the mousebuttons over the JTree.
 
Inner classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent, javax.swing.JComponent.ActionStandin, javax.swing.JComponent.IntVector, javax.swing.JComponent.KeyboardState
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.AWTTreeLock
 
Field Summary
private  boolean alwaysExpandTree
           
private  java.awt.Color backgroundColor
           
private  javax.swing.tree.DefaultTreeModel model
           
private  Node root
           
private  javax.swing.JTree tree
           
private  WatcherWindow window
           
 
Fields inherited from class javax.swing.JPanel
defaultLayout, uiClassID
 
Fields inherited from class javax.swing.JComponent
_bounds, accessibleContext, actionMap, ACTIONMAP_CREATED, alignmentX, alignmentY, ANCESTOR_INPUTMAP_CREATED, ANCESTOR_USING_BUFFER, ancestorInputMap, ancestorNotifier, autoscroller, border, changeSupport, clientProperties, CREATED_DOUBLE_BUFFER, flags, FOCUS_INPUTMAP_CREATED, focusInputMap, HAS_FOCUS, htmlKey, htmlView, inputVerifier, IS_DOUBLE_BUFFERED, IS_OPAQUE, IS_PAINTING_TILE, IS_PRINTING, IS_PRINTING_ALL, KEY_EVENTS_ENABLED, KEYBOARD_BINDINGS_KEY, listenerList, maximumSize, minimumSize, NEXT_FOCUS, paintImmediatelyClip, paintingChild, preferredSize, readObjectCallbacks, REQUEST_FOCUS_DISABLED, tmpRect, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, verifyInputWhenFocusTarget, vetoableChangeSupport, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW, WHEN_IN_FOCUSED_WINDOW_BINDINGS, WIF_INPUTMAP_CREATED, windowInputMap
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dbg, dispatcher, layoutMgr, listeningBoundsChildren, listeningChildren, maxSize, ncomponents, printing, printingThreads, serialVersionUID
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, graphicsConfig, hasFocus, height, hierarchyBoundsListener, hierarchyBoundsListenerK, hierarchyListener, hierarchyListenerK, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, metrics, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, privateKey, RIGHT_ALIGNMENT, textListenerK, TOP_ALIGNMENT, valid, width, windowClosingException, windowListenerK, visible, x, y
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
Overview(WatcherWindow ww)
          Creates a new Overview.
 
Method Summary
 void addActor(java.lang.String GAI)
          Adds a new actor node to the JTree.
 void addRoleSession(java.lang.String actorGAI, java.lang.String rsGAI)
          Adds a new RoleSession node to the JTree.
private  void dbg(java.lang.String dbg)
          Adds a new debug-string to the DebugView with the classname as prefix.
private  void expandTree(javax.swing.tree.TreePath path, Node current)
          Expands the TreePaths in the JTree.
private  Node findNode(java.lang.String GAI, Node current)
          Searches recursively after the node with the specified GAI in the JTree starting from the specified node.
 void init()
          Initializes the GUI components.
 void removeActor(java.lang.String GAI)
          Removes the specified Actor node from the JTree.
 void removeRoleSession(java.lang.String GAI)
          Removes the specified RoleSession node from the JTree.
 void setAlwaysExpandTree(boolean enabled)
          Sets wether to always expand the JTree when updates occur in the JTree.
 
Methods inherited from class javax.swing.JPanel
, getAccessibleContext, getUIClassID, paramString, updateUI, writeObject
 
Methods inherited from class javax.swing.JComponent
_paintImmediately, addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, adjustPaintFlags, alwaysOnTop, checkIfChildObscuredBySibling, clearFocusOwners, componentInputMapChanged, computeVisibleRect, computeVisibleRect, compWriteObjectNotify, contains, createToolTip, disable, enable, enableSerialization, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperties, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getCreatedDoubleBuffer, getDebugGraphicsOptions, getFlag, getGraphics, getHeight, getInputMap, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getWidth, getVisibleRect, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paintWithBuffer, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyBindings, processKeyBindingsForAllComponents, processKeyEvent, processMouseMotionEvent, putClientProperty, readObject, rectangleIsObscured, rectangleIsObscuredBySibling, registerKeyboardAction, registerKeyboardAction, registerWithKeyboardManager, registerWithKeyboardManager, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setCreatedDoubleBuffer, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFlag, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPaintingChild, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, shouldDebugGraphics, superProcessMouseMotionEvent, unregisterKeyboardAction, unregisterWithKeyboardManager, unregisterWithKeyboardManager, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, adjustListeningChildren, applyOrientation, checkGD, countComponents, createChildHierarchyEvents, createHierarchyEvents, deliverEvent, dispatchEventImpl, dispatchEventToSelf, doLayout, eventEnabled, findComponentAt, findComponentAt, findComponentAt, getAccessibleAt, getAccessibleChild, getAccessibleChildrenCount, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getLayout, getMouseEventTarget, getWindow, initIDs, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPaint, lightweightPrint, list, list, locate, minimumSize, nextFocus, numListening, paintComponents, paintHeavyweightComponents, postProcessKeyEvent, postsOldMouseEvents, preferredSize, preProcessKeyEvent, printComponents, printHeavyweightComponents, processContainerEvent, processEvent, proxyEnableEvents, proxyRequestFocus, remove, remove, removeAll, removeContainerListener, setFocusOwner, setLayout, transferFocus, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, areInputMethodsEnabled, bounds, checkImage, checkImage, checkWindowClosingException, coalesceEvents, constructComponentName, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getAccessibleIndexInParent, getAccessibleStateSet, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen_NoTreeLock, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getToolkit, getToolkitImpl, getTreeLock, getWindowForObject, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isEnabledImpl, isLightweight, isRecursivelyVisible, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resetGC, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

window

private WatcherWindow window

tree

private javax.swing.JTree tree

model

private javax.swing.tree.DefaultTreeModel model

root

private Node root

backgroundColor

private java.awt.Color backgroundColor

alwaysExpandTree

private boolean alwaysExpandTree
Constructor Detail

Overview

public Overview(WatcherWindow ww)
Creates a new Overview.
Parameters:
ww - Reference to the WatcherWindow.
Method Detail

init

public void init()
Initializes the GUI components. Creates a root node in the JTree and adds an Actor node to it representing this application.

addActor

public void addActor(java.lang.String GAI)
Adds a new actor node to the JTree.
Parameters:
GAI - The GAI of the new Actor node.

addRoleSession

public void addRoleSession(java.lang.String actorGAI,
                           java.lang.String rsGAI)
Adds a new RoleSession node to the JTree. Searches through the JTree after a node with the specified GAI. If the wanted Actor node is found the RoleSession node is added to it. If no Actor node is found, no node is added.
Parameters:
actorGAI - The GAI of the wanted Actor node.
rsGAI - The GAI of the new RoleSession node.

removeActor

public void removeActor(java.lang.String GAI)
Removes the specified Actor node from the JTree. Searches through the JTree after a node with the specified GAI. If the wanted Actor node is found, it is removed.
Parameters:
GAI - The GAI of the Actor node to be removed.

removeRoleSession

public void removeRoleSession(java.lang.String GAI)
Removes the specified RoleSession node from the JTree. Searches through the JTree after a node with the specified GAI. If the wanted RoleSession node is found, it is removed.
Parameters:
GAI - The GAI of the RoleSession node to be removed.

setAlwaysExpandTree

public void setAlwaysExpandTree(boolean enabled)
Sets wether to always expand the JTree when updates occur in the JTree. Expanding means that all the Nodes in the JTree is shown. If the property is enabled the whole JTree is expanded.
Parameters:
enabled - Specifies wether always expanding is enabled or not.

dbg

private void dbg(java.lang.String dbg)
Adds a new debug-string to the DebugView with the classname as prefix.
Parameters:
dbg - The debug-string to be added.

expandTree

private void expandTree(javax.swing.tree.TreePath path,
                        Node current)
Expands the TreePaths in the JTree. It checks if the current node is a leaf node. If it is, it expands the TreePath to the current node. If it is not a leaf node, it calls itself recursively for each of the current node's children.
Parameters:
path - The TreePath from the root node to the current node.
current - The node which is checked.

findNode

private Node findNode(java.lang.String GAI,
                      Node current)
Searches recursively after the node with the specified GAI in the JTree starting from the specified node. If the specified node is not the wanted node, it calls the method recursively for each of the node's children.
Parameters:
GAI - The GAI of the wanted node.
current - The current node which is checked.
Returns:
The wanted node or null if the search was unsuccessful.