Package weka.gui.treevisualizer
Class TreeVisualizer
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- weka.gui.visualize.PrintablePanel
-
- weka.gui.treevisualizer.TreeVisualizer
-
- All Implemented Interfaces:
java.awt.event.ActionListener,java.awt.event.ItemListener,java.awt.event.MouseListener,java.awt.event.MouseMotionListener,java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,java.util.EventListener,javax.accessibility.Accessible,PrintableHandler
public class TreeVisualizer extends PrintablePanel implements java.awt.event.MouseMotionListener, java.awt.event.MouseListener, java.awt.event.ActionListener, java.awt.event.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: 7386 $
- Author:
- Malcolm Ware (mfw4@cs.waikato.ac.nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringPROPERTIES_FILEthe props file.-
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Constructor Description TreeVisualizer(TreeDisplayListener tdl, java.lang.String dot, NodePlace p)Constructs Displayer to display a tree provided in a dot format.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.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactionPerformed(java.awt.event.ActionEvent e)Performs the action associated with the ActionEvent.voidfitToScreen()Fits the tree to the current screen size.voiditemStateChanged(java.awt.event.ItemEvent e)Performs the action associated with the ItemEvent.static voidmain(java.lang.String[] args)Main method for testing this class.voidmouseClicked(java.awt.event.MouseEvent e)Does nothing.voidmouseDragged(java.awt.event.MouseEvent e)Performs intermediate updates to what the user wishes to do.voidmouseEntered(java.awt.event.MouseEvent e)Does nothing.voidmouseExited(java.awt.event.MouseEvent e)Does nothing.voidmouseMoved(java.awt.event.MouseEvent e)Does nothing.voidmousePressed(java.awt.event.MouseEvent e)Determines what action the user wants to perform.voidmouseReleased(java.awt.event.MouseEvent e)Performs the final stages of what the user wants to perform.voidpaintComponent(java.awt.Graphics g)Updates the screen contents.voidsetHighlight(java.lang.String id)Set the highlight for the node with the given id-
Methods inherited from class weka.gui.visualize.PrintablePanel
getSaveDialogTitle, getWriter, getWriters, getXScale, getYScale, saveComponent, setSaveDialogTitle, setScale
-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUI
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
PROPERTIES_FILE
public static final java.lang.String PROPERTIES_FILE
the props file.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
TreeVisualizer
public TreeVisualizer(TreeDisplayListener tdl, java.lang.String dot, NodePlace p)
Constructs Displayer to display a tree provided in a dot format. Uses the NodePlacer to place the Nodes.- Parameters:
tdl- listenerdot- string containing the dot representation of the tree to displayp- 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 Detail
-
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(java.awt.event.ActionEvent e)
Performs the action associated with the ActionEvent.- Specified by:
actionPerformedin interfacejava.awt.event.ActionListener- Parameters:
e- the action event.
-
itemStateChanged
public void itemStateChanged(java.awt.event.ItemEvent e)
Performs the action associated with the ItemEvent.- Specified by:
itemStateChangedin interfacejava.awt.event.ItemListener- Parameters:
e- the item event.
-
mouseClicked
public void mouseClicked(java.awt.event.MouseEvent e)
Does nothing.- Specified by:
mouseClickedin interfacejava.awt.event.MouseListener- Parameters:
e- the mouse event.
-
mousePressed
public void mousePressed(java.awt.event.MouseEvent e)
Determines what action the user wants to perform.- Specified by:
mousePressedin interfacejava.awt.event.MouseListener- Parameters:
e- the mouse event.
-
mouseReleased
public void mouseReleased(java.awt.event.MouseEvent e)
Performs the final stages of what the user wants to perform.- Specified by:
mouseReleasedin interfacejava.awt.event.MouseListener- Parameters:
e- the mouse event.
-
mouseDragged
public void mouseDragged(java.awt.event.MouseEvent e)
Performs intermediate updates to what the user wishes to do.- Specified by:
mouseDraggedin interfacejava.awt.event.MouseMotionListener- Parameters:
e- the mouse event.
-
mouseMoved
public void mouseMoved(java.awt.event.MouseEvent e)
Does nothing.- Specified by:
mouseMovedin interfacejava.awt.event.MouseMotionListener- Parameters:
e- the mouse event.
-
mouseEntered
public void mouseEntered(java.awt.event.MouseEvent e)
Does nothing.- Specified by:
mouseEnteredin interfacejava.awt.event.MouseListener- Parameters:
e- the mouse event.
-
mouseExited
public void mouseExited(java.awt.event.MouseEvent e)
Does nothing.- Specified by:
mouseExitedin interfacejava.awt.event.MouseListener- Parameters:
e- the mouse event.
-
setHighlight
public void setHighlight(java.lang.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(java.awt.Graphics g)
Updates the screen contents.- Parameters:
g- the drawing surface.
-
main
public static void main(java.lang.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.
-
-