org.sump.analyzer
Class Diagram

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by org.sump.analyzer.Diagram
All Implemented Interfaces:
java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, Configurable

public class Diagram
extends javax.swing.JComponent
implements java.awt.event.MouseMotionListener, Configurable

This component displays a diagram which is obtained from a CapturedData object. The settings for the diagram are obtained from the embedded DiagramSettings and DiagramLabels objects. Look there for an overview of ways to display data.

Component size changes with the size of the diagram. Therefore it should only be used from within a JScrollPane.

Version:
0.7
Author:
Michael "Mr. Sump" Poppitz
See Also:
Serialized Form

Nested Class Summary
 
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
 
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
Diagram()
          Create a new empty diagram to be placed in a container.
 
Method Summary
 void addStatusChangeListener(StatusChangeListener listener)
          Adds a status change listener for this diagram, Simple implementation that will only call the last added listener on status change.
 CapturedData getCapturedData()
          Returns the captured data object currently displayed in the diagram.
 java.awt.Dimension getMinimumSize()
          Gets the dimensions of the full diagram.
 java.awt.Dimension getPreferredSize()
          Gets the dimensions of the full diagram.
 boolean hasCapturedData()
          Returns wheter or not the diagram has any data.
 void mouseDragged(java.awt.event.MouseEvent event)
          Handles mouse dragged events and produces status change "events" accordingly.
 void mouseMoved(java.awt.event.MouseEvent event)
          Handles mouse moved events and produces status change "events" accordingly.
 void paintComponent(java.awt.Graphics g)
          Paints the diagram to the extend necessary.
 void readProperties(Properties properties)
          Reads configuration from given properties.
 void setCapturedData(CapturedData capturedData)
          Sets the captured data object to use for drawing the diagram.
 void showLabelsDialog(java.awt.Frame frame)
          Display the diagram labels dialog.
 void showSettingsDialog(java.awt.Frame frame)
          Display the diagram settings dialog.
 void writeProperties(Properties properties)
          Writes configuration to given properties.
 void zoomDefault()
          Reverts back to the standard zoom level.
 void zoomIn()
          Zooms in by factor 2 and resizes the component accordingly.
 void zoomOut()
          Zooms out by factor 2 and resizes the component accordingly.
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, 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, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
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, 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, firePropertyChange, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, 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
 

Constructor Detail

Diagram

public Diagram()
Create a new empty diagram to be placed in a container.

Method Detail

setCapturedData

public void setCapturedData(CapturedData capturedData)
Sets the captured data object to use for drawing the diagram.

Parameters:
capturedData - captured data to base diagram on

getCapturedData

public CapturedData getCapturedData()
Returns the captured data object currently displayed in the diagram.

Returns:
diagram's current captured data

hasCapturedData

public boolean hasCapturedData()
Returns wheter or not the diagram has any data.

Returns:
true if captured data exists, false otherwise

zoomIn

public void zoomIn()
Zooms in by factor 2 and resizes the component accordingly.


zoomOut

public void zoomOut()
Zooms out by factor 2 and resizes the component accordingly.


zoomDefault

public void zoomDefault()
Reverts back to the standard zoom level.


showSettingsDialog

public void showSettingsDialog(java.awt.Frame frame)
Display the diagram settings dialog. Will block until the dialog is closed again.


showLabelsDialog

public void showLabelsDialog(java.awt.Frame frame)
Display the diagram labels dialog. Will block until the dialog is closed again.


getPreferredSize

public java.awt.Dimension getPreferredSize()
Gets the dimensions of the full diagram. Used to inform the container (preferrably a JScrollPane) about the size.

Overrides:
getPreferredSize in class javax.swing.JComponent

getMinimumSize

public java.awt.Dimension getMinimumSize()
Gets the dimensions of the full diagram. Used to inform the container (preferrably a JScrollPane) about the size.

Overrides:
getMinimumSize in class javax.swing.JComponent

paintComponent

public void paintComponent(java.awt.Graphics g)
Paints the diagram to the extend necessary.

Overrides:
paintComponent in class javax.swing.JComponent

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent event)
Handles mouse dragged events and produces status change "events" accordingly.

Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent event)
Handles mouse moved events and produces status change "events" accordingly.

Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener

addStatusChangeListener

public void addStatusChangeListener(StatusChangeListener listener)
Adds a status change listener for this diagram, Simple implementation that will only call the last added listener on status change.


readProperties

public void readProperties(Properties properties)
Description copied from interface: Configurable
Reads configuration from given properties. UI element settings must be modified according to the properties found.

Specified by:
readProperties in interface Configurable
Parameters:
properties - properties to read configuration from

writeProperties

public void writeProperties(Properties properties)
Description copied from interface: Configurable
Writes configuration to given properties. Properties must be set according to the UI element settings.

Specified by:
writeProperties in interface Configurable
Parameters:
properties - properties to write configuration to