Class RedBlackTreeJPanel

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--DrawingJPanel
                                |
                                +--TreeJPanel
                                      |
                                      +--BSTTreeJPanel
                                            |
                                            +--RedBlackTreeJPanel
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.awt.event.ComponentListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, OptionListener, java.io.Serializable, TreeMessageListener

public class RedBlackTreeJPanel
extends BSTTreeJPanel

This class provides the panel for a RedBlackTree. It keeps the graphics for drawing the tree and the image for redrawing. It also keeps a timer for the animation and all changes to the tree proceed through the panel.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class BSTTreeJPanel
animatingPanel, backgroundColor, CHRISTMAS, colorOptionsPanel, colorPresetOptionsJComboBox, colorSchemesJComboBox, colorSettings, colorSettingsJComboBox, DEFAULT, deleteLeftLinePaintSettings, deleteRightLinePaintSettings, drawingKeySettings, drawingNodeSettings, drawingPanel, functionJComboBox, HALLOWEEN, insertAnimatorKeySettings, insertAnimatorNodeSettings, insertNodeLeftSettings, insertNodeRightSettings, PRIMARY, PRINCETON, rotateAnimatorKeySettings, rotateChildNodeSettings, rotateDescendantNodeSettings, rotateOriginalKeySettings, rotateOriginalNodeSettings, rotateRootNodeSettings, searchAnimatorKeySettings, searchAnimatorNodeSettings, searchNodeLeftSettings, searchNodeRightSettings, selectAnimatorKeySettings, selectAnimatorNodeSettings, selectNodeLeftSettings, selectNodeRightSettings, traverseAnimatorKeySettings, traverseAnimatorNodeSettings
 
Fields inherited from class TreeJPanel
BACKGROUND, CHARACTER, DEFAULT_DELAY, DELETE, DOUBLE, DRAWING, INSERT, INTEGER, KEY, KEY_ANIMATOR_SETTINGS, KEY_ORIGINAL_SETTINGS, LEFT_PAINT, NODE, NODE_ANIMATOR_SETTINGS, NODE_CHILD_SETTINGS, NODE_DESCENDANT_SETTINGS, NODE_LEFT_SETTINGS, NODE_ORIGINAL_SETTINGS, NODE_RIGHT_SETTINGS, NODE_ROOT_SETTINGS, NOKEY, PAINT, RIGHT_PAINT, ROTATE, SEARCH, SELECT, TRAVERSE, TYPEERR
 
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
RedBlackTreeJPanel()
          Sole Constructor.
 
Method Summary
 void balanceCommand(Tree node)
          Balance command.
 void deleteCommand(java.lang.String text)
          Delete command.
 void displayChangeCommand()
          Change Display Command.
 void drawDrawingNode()
          Draws the current drawing node using the specific stoke and paint for the red links.
protected  void makeBalanceErrorMessage()
          Constructs an error type if the tree is attempted to balance.
protected  void makeDeleteErrorMessage()
          Constructs an error type if a node is attempted to delete.
 javax.swing.JPopupMenu makeJPopupMenu(java.awt.event.ActionListener actionlistener)
          Constructs a popupmenu, using the actionlistener passed.
 void rotateToTopCommand(Tree node)
          RotateToTop command.
 void rotateUpCommand(Tree node)
          RotateUp command.
 void rotateUpDoubleCommand(Tree node)
          RotateUpDouble command.
 void splayCommand(Tree node)
          Splay command.
 
Methods inherited from class BSTTreeJPanel
actionPerformed, balanceNode, balanceTree, changeDisplay, constructColorOptions, constructPresetColorOptions, drawAnimatingNode, getColorSchemeOptions, getColorSchemeSetting, getColorSchemesList, getColorSettings, getColorSettingsString, getOptionColorSchemeOptions, getTitle, optionEventPerformed, resetSettingStrings, rotateToTopNode, rotateUpDoubleNode, rotateUpNode, setAnimating, setColorSchemeSetting, setColorSchemeSetting, setColorSettingsString, setComponentShown, setSettings, setSettings, splayNode, traverseCommand
 
Methods inherited from class TreeJPanel
addTreeMessageListener, animatingCommand, animationQualityCommand, animationSpeedCommand, clear, clearAllCommand, clearCommand, clearTree, deleteCommand, deleteKeys, deleteNode, draw, getAnimationTimer, getInputOptions, getKeyType, getObjectList, getStringList, getTree, getTreeStatusMessage, inputChange, inputChangeCommand, insertCommand, insertKeys, isAnimating, isStep, makeColorSchemeOptions, makeColorSettings, makeMissingErrorMessage, makeTypeErrorMessage, makeTypeIntegerErrorMessage, messageAction, paintComponent, partitionCommand, partitionNode, pauseCommand, playCommand, playFastCommand, playStepCommand, removeTreeMessageListener, rewindCommand, rewindFastCommand, rewindStepCommand, saveTreeCommand, searchCommand, searchKeys, selectCommand, selectCommand, selectKeys, selectNode, setAnimationTimer, setDelayRate, setKeyType, setStep, setTree, stopCommand, stringToType, treeMessageEventPerformed
 
Methods inherited from class DrawingJPanel
componentHidden, componentMoved, componentResized, componentShown, drawTree, getDrawingArea, getDrawTreeGraphics, getDrawTreeImage, isComponentShown, isDrawTree, makeDrawTreeGraphics, makeDrawTreeImage, setDrawingArea, setDrawTree, setDrawTreeGraphics, setDrawTreeImage
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, 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, 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, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, 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, validate, 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, imageUpdate, 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
 

Constructor Detail

RedBlackTreeJPanel

public RedBlackTreeJPanel()
Sole Constructor. It simply calls the super constructor and then calls setTree with the ANIMATING_BST_TREE_TYPE.

Method Detail

drawDrawingNode

public void drawDrawingNode()
Draws the current drawing node using the specific stoke and paint for the red links.

Overrides:
drawDrawingNode in class BSTTreeJPanel

makeJPopupMenu

public javax.swing.JPopupMenu makeJPopupMenu(java.awt.event.ActionListener actionlistener)
Constructs a popupmenu, using the actionlistener passed. The popupMenu contains all of the options available through the current tree. For this class, no items are added, making it necessary to overide the method.

Overrides:
makeJPopupMenu in class BSTTreeJPanel
Returns:
JPopupMenu which is the menu constructed within the panel.

makeBalanceErrorMessage

protected void makeBalanceErrorMessage()
Constructs an error type if the tree is attempted to balance.


makeDeleteErrorMessage

protected void makeDeleteErrorMessage()
Constructs an error type if a node is attempted to delete.


rotateUpCommand

public void rotateUpCommand(Tree node)
RotateUp command. No action.

Overrides:
rotateUpCommand in class BSTTreeJPanel
Parameters:
node - Tree to rotateUp.

rotateToTopCommand

public void rotateToTopCommand(Tree node)
RotateToTop command. No action.

Overrides:
rotateToTopCommand in class BSTTreeJPanel
Parameters:
node - Tree to rotateToTop.

rotateUpDoubleCommand

public void rotateUpDoubleCommand(Tree node)
RotateUpDouble command. No action.

Overrides:
rotateUpDoubleCommand in class BSTTreeJPanel
Parameters:
node - Tree to rotateUpDouble.

splayCommand

public void splayCommand(Tree node)
Splay command. No action.

Overrides:
splayCommand in class BSTTreeJPanel
Parameters:
node - Tree to splay.

balanceCommand

public void balanceCommand(Tree node)
Balance command. No action.

Overrides:
balanceCommand in class BSTTreeJPanel
Parameters:
node - Tree to balance.

deleteCommand

public void deleteCommand(java.lang.String text)
Delete command. No action.

Overrides:
deleteCommand in class TreeJPanel
Parameters:
text - String to delete.

displayChangeCommand

public void displayChangeCommand()
Change Display Command. No action....yet!

Overrides:
displayChangeCommand in class BSTTreeJPanel