cox.jmatt.java.MathTools.demo
Class PizzaPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Panel
              extended by cox.jmatt.java.MathTools.demo.PizzaPanel
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible
Direct Known Subclasses:
ArithmeticPizza, GraphPizza, LatexPizza, MathEnginePizza, MathSetPizza, MathStatPizza, MathXMLPizza, MComplexPizza, MEquationPizza, MFractionPizza, MMatrixPizza, MRadicalPizza, PercentPizza, PolynomialPizza, QuestionPizza, SVGPizza

public class PizzaPanel
extends java.awt.Panel
implements java.awt.event.ActionListener

This class provides an easy way to specifiy polymorphic configurable parameters to test MathTools (or other class) methods. The parameters in the TextArea can be edited to appropriate values. The program can then call an appropriate 'as__(N) method to retrieve the parameter. The value N is the index of the parameter to fetch. Example: asLong(4) fetches 'par.4=...' as a long.

This class may be used as-is to supply parameters to another class or it may be extended. The processGoButton() is the extension method. The default implementation merely eats the pizza (Properties) in the TextArea. The getNorthPanel() method provides a quick and easy way to provide a simple GUI.

NOTE: The eatPizza() method MUST be called before meaningful values can be extracted from the parameters. The default values for all as__() methods are: 0 for numeric methods, '' for String, null for asNullString() and false for boolean.

See Also:
Serialized Form

Nested Class Summary
 
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 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
PizzaPanel()
           
 
Method Summary
protected  void _addToPizza(java.lang.String pContent)
          Add to the content of the parameter area.
 void actionPerformed(java.awt.event.ActionEvent aev)
          Used for the [Clr] and [Go!] buttons.
 boolean asBoolean(int iNdx)
          Interpret the parameter 'par.iNdx as a boolean.
 double asDouble(int iNdx)
          Interpret the parameter 'par.iNdx as a double.
 int asInt(int iNdx)
          Interpret the parameter 'par.iNdx as an int.
 long asLong(int iNdx)
          Interpret the parameter 'par.iNdx as a long.
 java.lang.String asNullString(int iNdx)
          Interpret the parameter 'par.iNdx as a String.
 java.lang.String asString(int iNdx)
          Interpret the parameter 'par.iNdx as a String.
 void clearParams()
          Clear the panel and do NOT set any parameters.
 java.util.Properties eatPizza()
          Parse the currently-set parameters into the internal Properties object.
 java.awt.Panel getNorthPanel()
          Retrieve the component to be displayed in the NORTH part of the Panel.
 java.lang.String getRawPizza()
          Fetch the contents of the pizza area unaltered.
 void processGoButton()
          This method is called when the [Go!] button is clicked.
 void resetParams()
          Clear the panel and set the number of parameters to whatever is in the lower right TextField.
 void resetParams(int pNPars)
          Clear the panel and set the number of (blank) parameters specified.
 
Methods inherited from class java.awt.Panel
addNotify, getAccessibleContext
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, 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, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, 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, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, 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, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, 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

PizzaPanel

public PizzaPanel()
Method Detail

clearParams

public void clearParams()
Clear the panel and do NOT set any parameters. This is default behavior for the '[Clear]' buttons.


resetParams

public void resetParams(int pNPars)
Clear the panel and set the number of (blank) parameters specified.

Parameters:
pNPars - The number of parameter spots to display.

resetParams

public void resetParams()
Clear the panel and set the number of parameters to whatever is in the lower right TextField. This is what the '[Reset params]' button does.


getNorthPanel

public java.awt.Panel getNorthPanel()
Retrieve the component to be displayed in the NORTH part of the Panel. Defaults to a title Label.


actionPerformed

public void actionPerformed(java.awt.event.ActionEvent aev)
Used for the [Clr] and [Go!] buttons.

Specified by:
actionPerformed in interface java.awt.event.ActionListener

eatPizza

public java.util.Properties eatPizza()
Parse the currently-set parameters into the internal Properties object. This method should be called any time the parameters might have changed. Returns a copy of the Properties object generated to allow access to typed-in properties that do not follow the standard pattern. (The standard pattern is 'par.X where X is a number.)

Returns:
A fresh copy of the Properties parsed in.

getRawPizza

public java.lang.String getRawPizza()
Fetch the contents of the pizza area unaltered.


_addToPizza

protected void _addToPizza(java.lang.String pContent)
Add to the content of the parameter area. If pContent is non-null and non-empty it is appended to the content of the parameter area. No line processing is done so any desired newlines must be handled manually.


processGoButton

public void processGoButton()
This method is called when the [Go!] button is clicked. Default implementation calls eatPizza().


asLong

public long asLong(int iNdx)
Interpret the parameter 'par.iNdx as a long. Defaults to 0.


asInt

public int asInt(int iNdx)
Interpret the parameter 'par.iNdx as an int. Defaults to 0.


asDouble

public double asDouble(int iNdx)
Interpret the parameter 'par.iNdx as a double. Defaults to 0.0.


asString

public java.lang.String asString(int iNdx)
Interpret the parameter 'par.iNdx as a String. Defaults to a blank String.


asNullString

public java.lang.String asNullString(int iNdx)
Interpret the parameter 'par.iNdx as a String. Defaults to null if no value is present.


asBoolean

public boolean asBoolean(int iNdx)
Interpret the parameter 'par.iNdx as a boolean. Defaults to false.