net.sourceforge.webcompmath.applets
Class IntegralCurves

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Panel
              extended by java.applet.Applet
                  extended by javax.swing.JApplet
                      extended by net.sourceforge.webcompmath.applets.GenericGraphApplet
                          extended by net.sourceforge.webcompmath.applets.IntegralCurves
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.event.ItemListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer

public class IntegralCurves
extends GenericGraphApplet

This applet displays a vector field (f1(x,y),f2(x,y)) and integral curves for that vector field (although the integral curve feature can be turned off with an applet param). The drawing of the curves is animated; they are drawn segment-by-segment. In the default setup, a curve is started when the user clicks on the canvas. A curve can also be started by entering the starting x and y coords in a pair of text input boxes and clicking a button.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JApplet
javax.swing.JApplet.AccessibleJApplet
 
Nested classes/interfaces inherited from class java.applet.Applet
java.applet.Applet.AccessibleApplet
 
Nested classes/interfaces inherited from class java.awt.Panel
java.awt.Panel.AccessibleAWTPanel
 
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 net.sourceforge.webcompmath.applets.GenericGraphApplet
canvas, computeButton, defaultFrameSize, exampleMenuPanel, fontSize, frameTitle, functionInput, ggBGColor, ggFGColor, inputPanel, lbf, limitsPanel, mainController, mainPanel, parameterDefaults, parser, pBGColor, presentation, xVar
 
Fields inherited from class javax.swing.JApplet
accessibleContext, rootPane, rootPaneCheckingEnabled
 
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
IntegralCurves()
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent evt)
          React if user presses return in xStart or yStart, or pass evt on to GenericGraphApplet
protected  void doLoadExample(java.lang.String example)
          This method is called when the user loads an example from the example menu (if there is one).
 void extendCurves()
          Add the next segment to each integral curve.
protected  void setUpBottomPanel()
          Override this to make a panel containing controls.
protected  void setUpCanvas()
          Override this to add more stuff to the canvas.
protected  void setUpParser()
          create the "y" variable; also set up some parameter defaults.
 void startCurve(double x, double y)
          Start an integral curve at the point (x,y)
 void stop()
          stop animator when applet is stopped
 
Methods inherited from class net.sourceforge.webcompmath.applets.GenericGraphApplet
addCanvasBorder, destroy, doLoadFirstExample, getColorParam, getColorParam, getNumericParam, getNumericParam, getParameter, getParameter, init, itemStateChanged, makeAxes, parseTableFuncDef, setUpExampleMenu, setUpLimitsPanel, setUpMainPanel, setUpParameterDefaults, setUpTopPanel
 
Methods inherited from class javax.swing.JApplet
addImpl, createRootPane, getAccessibleContext, getContentPane, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isRootPaneCheckingEnabled, paramString, remove, repaint, setContentPane, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.applet.Applet
getAppletContext, getAppletInfo, getAudioClip, getAudioClip, getCodeBase, getDocumentBase, getImage, getImage, getLocale, getParameterInfo, isActive, newAudioClip, play, play, resize, resize, setStub, showStatus, start
 
Methods inherited from class java.awt.Panel
addNotify
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, 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

IntegralCurves

public IntegralCurves()
Method Detail

setUpParser

protected void setUpParser()
create the "y" variable; also set up some parameter defaults.

Overrides:
setUpParser in class GenericGraphApplet

setUpCanvas

protected void setUpCanvas()
Override this to add more stuff to the canvas.

Overrides:
setUpCanvas in class GenericGraphApplet

setUpBottomPanel

protected void setUpBottomPanel()
Override this to make a panel containing controls. This is complicated because it's possible to turn off a lot of the inputs with applet params.

Overrides:
setUpBottomPanel in class GenericGraphApplet

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent evt)
React if user presses return in xStart or yStart, or pass evt on to GenericGraphApplet

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Overrides:
actionPerformed in class GenericGraphApplet
Parameters:
evt - event created when user presses return

startCurve

public void startCurve(double x,
                       double y)
Start an integral curve at the point (x,y)

Parameters:
x - the x coordinate
y - the y coordinate

extendCurves

public void extendCurves()
Add the next segment to each integral curve. This function is called repeatedly by the animator.


doLoadExample

protected void doLoadExample(java.lang.String example)
This method is called when the user loads an example from the example menu (if there is one). It overrides an empty method in GenericGraphApplet. For the IntegrapCurves applet, the example string should contain two expression that defines the vector field, separated by a semicolon. This can optionally be followed by another semicolon and a list of numbers, separated by spaces and/or commas. The first four numbers give the x- and y-limits to be used for the example. If they are not present, then -5,5,-5,5 is used. The next number, if present, specifies a value for delta t. If there are more numbers, they should come in pairs. each pair specifies a point where a curve will be started when the example is loaded. There is a 0.5 second delay between loading and starting the curves to allow time for the redrawing (although it seems to block the redrawing, at least on some platforms).

Overrides:
doLoadExample in class GenericGraphApplet
Parameters:
example - the function to graph

stop

public void stop()
stop animator when applet is stopped

Overrides:
stop in class java.applet.Applet