jsim.jmodel
Class NetCanvas

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by jsim.jmodel.NetCanvas
All Implemented Interfaces:
java.awt.event.MouseListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

public class NetCanvas
extends javax.swing.JPanel
implements java.awt.event.MouseListener

The NetCanvas class allows canvases to be created for drawing simulation models.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
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.BaselineResizeBehavior, 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
NetCanvas(javax.swing.JFrame inFrame)
          Constructs a design network canvas.
 
Method Summary
 void addEdge(java.awt.geom.Point2D.Float location)
          Add an edge.
 void addNode(java.awt.geom.Point2D.Float location)
          Add a new node to graph.
 Node adjust(java.awt.geom.Point2D.Float p)
          Adjust point p's location to correspond to the closest distinguished point in the containing polygon (node).
 void adjustParameters(java.awt.geom.Point2D.Float location)
          Pop up a dialog box allowing the designer to adjust a node's parameters.
 void deleteInEdge(QCurve p)
          Delete node n's incoming edges.
 void deleteInEdges(Node n)
          Delete node n's incoming edges.
 void deleteNode(java.awt.geom.Point2D.Float p)
          Delete the node at location p.
 void load(java.lang.String loadFile)
          Load all the nodes.
 void mouseClicked(java.awt.event.MouseEvent evt)
          Handle mouse clicked event.
 void mouseEntered(java.awt.event.MouseEvent evt)
          The final 2 MouseListener event handlers are not implemented.
 void mouseExited(java.awt.event.MouseEvent evt)
           
 void mousePressed(java.awt.event.MouseEvent evt)
          Handle mouse pressed event.
 void mouseReleased(java.awt.event.MouseEvent evt)
          Handle mouse released event.
 void moveNodeAndParts(java.awt.geom.Point2D.Float delta)
          Move node "moveNode" and its parts (tokens and incident edges).
 void paint(java.awt.Graphics gg)
          Paint the screen.
 void reset()
          Reset the model state.
 void save(java.lang.String saveFile)
          Save all the nodes.
 void setActionType(int actionType)
          Set the action type.
 void setModelName(java.lang.String modelName)
          Set the model name.
 void setProbability(Node n)
          Set the probability of node n's outgoing edges.
 void update(java.awt.Graphics gg)
          Don't erase the screen.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, 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
 
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

NetCanvas

public NetCanvas(javax.swing.JFrame inFrame)
Constructs a design network canvas.

Parameters:
inFrame - containing frame
Method Detail

setModelName

public void setModelName(java.lang.String modelName)
Set the model name.

Parameters:
modelName - name of model

reset

public void reset()
Reset the model state.


save

public void save(java.lang.String saveFile)
Save all the nodes.

Parameters:
saveFile - name of file the model is stored in

load

public void load(java.lang.String loadFile)
Load all the nodes.

Parameters:
loadFile - name of file the model is stored in

update

public void update(java.awt.Graphics gg)
Don't erase the screen.

Overrides:
update in class javax.swing.JComponent
Parameters:
gg - graphics buffer

paint

public void paint(java.awt.Graphics gg)
Paint the screen.

Overrides:
paint in class javax.swing.JComponent
Parameters:
gg - graphics buffer

setActionType

public void setActionType(int actionType)
Set the action type.

Parameters:
actionType - type of design action

addNode

public void addNode(java.awt.geom.Point2D.Float location)
Add a new node to graph. FIX

Parameters:
location - location of node

adjust

public Node adjust(java.awt.geom.Point2D.Float p)
Adjust point p's location to correspond to the closest distinguished point in the containing polygon (node).

Parameters:
p - point to be adjusted
Returns:
Node containing node

deleteInEdges

public void deleteInEdges(Node n)
Delete node n's incoming edges.

Parameters:
n - reference node

deleteInEdge

public void deleteInEdge(QCurve p)
Delete node n's incoming edges.

Parameters:
p - reference curve

deleteNode

public void deleteNode(java.awt.geom.Point2D.Float p)
Delete the node at location p.

Parameters:
p - reference point

moveNodeAndParts

public void moveNodeAndParts(java.awt.geom.Point2D.Float delta)
Move node "moveNode" and its parts (tokens and incident edges).

Parameters:
delta - movement vector

setProbability

public void setProbability(Node n)
Set the probability of node n's outgoing edges. Give them all equal probability (may be changed by a dialog with designer).

Parameters:
n - reference node

adjustParameters

public void adjustParameters(java.awt.geom.Point2D.Float location)
Pop up a dialog box allowing the designer to adjust a node's parameters.

Parameters:
location - location of reference node

addEdge

public void addEdge(java.awt.geom.Point2D.Float location)
Add an edge. This requires three points: start, control and end.

Parameters:
location - location of reference node

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent evt)
Handle mouse clicked event.

Specified by:
mouseClicked in interface java.awt.event.MouseListener
Parameters:
evt - mouse clicked event

mousePressed

public void mousePressed(java.awt.event.MouseEvent evt)
Handle mouse pressed event.

Specified by:
mousePressed in interface java.awt.event.MouseListener
Parameters:
evt - mouse pressed event

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent evt)
Handle mouse released event.

Specified by:
mouseReleased in interface java.awt.event.MouseListener
Parameters:
evt - mouse released event

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent evt)
The final 2 MouseListener event handlers are not implemented.

Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent evt)
Specified by:
mouseExited in interface java.awt.event.MouseListener