net.sourceforge.webcompmath.applets
Class SecantTangent

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.SecantTangent
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 SecantTangent
extends GenericGraphApplet

The SecantTangent applet is a rather special purpose applet that is supposed to show secant lines converging on a tangent line. The applet draws a tangent line to a graph at a point marked by a draggable disk (which is red in the default version). By dragging this disk, you can move the point. A secant line is drawn from this point to another point, which is marked by another draggable disk (green in the default version). You can also set the x-coordinates of the point by entering them in the input boxes at the bottom of the applet. The slopes of the two lines are shown at the upper left, but you can turn off the display of the tangent slope if, for example, you want the user to estimate the slope of the tangent line from the slopes of secant lines.

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
SecantTangent()
           
 
Method Summary
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).
protected  void doLoadRestOfExample(java.lang.String example)
          Parse the example.
protected  void setUpBottomPanel()
          This method checks the applet parameter "UseFunctionInput".
protected  void setUpCanvas()
          Override this to add more stuff to the canvas.
protected  void setUpMainPanel()
          Set up the tick inputs and add stuff to controllers
protected  void setUpParameterDefaults()
          Overridden to set up default function.
 
Methods inherited from class net.sourceforge.webcompmath.applets.GenericGraphApplet
actionPerformed, addCanvasBorder, destroy, doLoadFirstExample, getColorParam, getColorParam, getNumericParam, getNumericParam, getParameter, getParameter, init, itemStateChanged, makeAxes, parseTableFuncDef, setUpExampleMenu, setUpLimitsPanel, setUpParser, 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, stop
 
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

SecantTangent

public SecantTangent()
Method Detail

setUpParameterDefaults

protected void setUpParameterDefaults()
Overridden to set up default function. Changed by PKHG 050417

Overrides:
setUpParameterDefaults in class GenericGraphApplet

setUpCanvas

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

Overrides:
setUpCanvas in class GenericGraphApplet

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 SecantTangent applet, the example string should contain an expression that defines the function to be graphed. This can optionally be followed by a semicoloon and a list of fourto six numbers. 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 fifth number, if present, gives the x-coord where the tangent line is drawn. The sixth number gives the x-coord of the second point on the secant line.

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

setUpBottomPanel

protected void setUpBottomPanel()
Description copied from class: GenericGraphApplet
This method checks the applet parameter "UseFunctionInput". If the value is anything but "no", then a panel is created that contains an ExpressionInput (stored in the member variable functionInput) and possibly a ComputeButton and lable for the input box. This panel is a WcmPanel using BorderLayout. In is stored in the member variable inputPanel and is added to the SOUTH position of the mainPanel. The method also processes applet parameters "Function", "UseComputeButton", "ComputeButtonName", and "FunctionLabel". The ComputeButton, if it exists, is stored in the member variable computeButton. Note that nothing at all is done by this method if the value of the applet parameter "UseFunctionInput" is no.

Overrides:
setUpBottomPanel in class GenericGraphApplet
See Also:
GenericGraphApplet.setUpBottomPanel()

doLoadRestOfExample

protected void doLoadRestOfExample(java.lang.String example)
Parse the example. Uses super.doLoadExample to process the title, function, and limits.

Parameters:
example -
See Also:
SimpleGraph.doLoadExample(java.lang.String)

setUpMainPanel

protected void setUpMainPanel()
Set up the tick inputs and add stuff to controllers

Overrides:
setUpMainPanel in class GenericGraphApplet
See Also:
SimpleGraph.setUpMainPanel()