Class TreeVisualizer

All Implemented Interfaces:
ActionListener, ItemListener, MouseListener, MouseMotionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, PrintableHandler

public class TreeVisualizer extends PrintablePanel implements MouseMotionListener, MouseListener, ActionListener, ItemListener
Class for displaying a Node structure in Swing.

To work this class simply create an instance of it.

Assign it to a window or other such object.

Resize it to the desired size.

When using the Displayer hold the left mouse button to drag the tree around.

Click the left mouse button with ctrl to shrink the size of the tree by half.

Click and drag with the left mouse button and shift to draw a box, when the left mouse button is released the contents of the box will be magnified to fill the screen.

Click the right mouse button to bring up a menu.

Most options are self explanatory.

Select Auto Scale to set the tree to it's optimal display size.

Version:
$Revision: 15301 $
Author:
Malcolm Ware (mfw4@cs.waikato.ac.nz)
See Also:
  • Field Details

  • Constructor Details

    • TreeVisualizer

      public TreeVisualizer(TreeDisplayListener tdl, String dot, NodePlace p)
      Constructs Displayer to display a tree provided in a dot format. Uses the NodePlacer to place the Nodes.
      Parameters:
      tdl - listener
      dot - string containing the dot representation of the tree to display
      p - the algorithm to be used to position the nodes.
    • TreeVisualizer

      public TreeVisualizer(TreeDisplayListener tdl, Node n, NodePlace p)
      Constructs Displayer with the specified Node as the top of the tree, and uses the NodePlacer to place the Nodes.
      Parameters:
      tdl - listener.
      n - the top Node of the tree to be displayed.
      p - the algorithm to be used to position the nodes.
  • Method Details

    • fitToScreen

      public void fitToScreen()
      Fits the tree to the current screen size. Call this after window has been created to get the entrire tree to be in view upon launch.
    • actionPerformed

      public void actionPerformed(ActionEvent e)
      Performs the action associated with the ActionEvent.
      Specified by:
      actionPerformed in interface ActionListener
      Parameters:
      e - the action event.
    • itemStateChanged

      public void itemStateChanged(ItemEvent e)
      Performs the action associated with the ItemEvent.
      Specified by:
      itemStateChanged in interface ItemListener
      Parameters:
      e - the item event.
    • mouseClicked

      public void mouseClicked(MouseEvent e)
      Does nothing.
      Specified by:
      mouseClicked in interface MouseListener
      Parameters:
      e - the mouse event.
    • mousePressed

      public void mousePressed(MouseEvent e)
      Determines what action the user wants to perform.
      Specified by:
      mousePressed in interface MouseListener
      Parameters:
      e - the mouse event.
    • mouseReleased

      public void mouseReleased(MouseEvent e)
      Performs the final stages of what the user wants to perform.
      Specified by:
      mouseReleased in interface MouseListener
      Parameters:
      e - the mouse event.
    • mouseDragged

      public void mouseDragged(MouseEvent e)
      Performs intermediate updates to what the user wishes to do.
      Specified by:
      mouseDragged in interface MouseMotionListener
      Parameters:
      e - the mouse event.
    • mouseMoved

      public void mouseMoved(MouseEvent e)
      Does nothing.
      Specified by:
      mouseMoved in interface MouseMotionListener
      Parameters:
      e - the mouse event.
    • mouseEntered

      public void mouseEntered(MouseEvent e)
      Does nothing.
      Specified by:
      mouseEntered in interface MouseListener
      Parameters:
      e - the mouse event.
    • mouseExited

      public void mouseExited(MouseEvent e)
      Does nothing.
      Specified by:
      mouseExited in interface MouseListener
      Parameters:
      e - the mouse event.
    • setHighlight

      public void setHighlight(String id)
      Set the highlight for the node with the given id
      Parameters:
      id - the id of the node to set the highlight for
    • paintComponent

      public void paintComponent(Graphics g)
      Updates the screen contents.
      Parameters:
      g - the drawing surface.
    • main

      public static void main(String[] args)
      Main method for testing this class.
      Parameters:
      args - first argument should be the name of a file that contains a tree discription in dot format.