| java.lang.Object java.awt.Component java.awt.TextComponent java.awt.TextField edu.hws.jcm.awt.ExpressionInput
ExpressionInput | public class ExpressionInput extends TextField implements InputObject,Value(Code) | | An ExpressionInput is an input box that allows the user
input a mathematical expression. There is an associated
object that belongs to the class Expression. The
value of this object can change only when checkInput()
is called. The checkInput() method is usually called by a Controller.
An ExpressionInput will ordinarily be registered with
a Controller in TWO ways: It's added to a Controller
with the Controller's add() method. This makes the Contrller
call the ExpressionInput's checkInput() method during the
Controller's compute() method. Secondly, the Controller
is set as the "onUserAction" property. This causes the
Controller's compute() method to be called when the user
presses return in the ExpressionInput box. This is optional--
you might, for example, only want the Controller to compute()
when a Compute button is pressed. You can also set the
ExpressionInput's onTextChange property to a Controller
if you want it to compute every time the text in the box
changes.
Use the function getFunction() if you want to
use an ExpressionInput as a way of inputting a function.
|
Inner Class :protected class EI implements Expression | |
Field Summary | |
protected String | errorMessage Error message from the most recent
time the input was checked by a
call to checkInput(). | protected EI | expr The Expression associate with this input box. | protected Parser | parser A parser for parsing the user's input
expression. | protected String | previousContents | protected boolean | throwErrors True if an error should be thrown
when checkInput() is called,
but the content of the box is not
a legal expression. |
Constructor Summary | |
public | ExpressionInput() Create a new ExpressionFunction with no associated parser. | public | ExpressionInput(String initialValue, Parser p) Create an ExpressionInputBox with initial contents given by initialValue. |
Method Summary | |
public void | checkInput() Get the expression from the box, maybe throw a JBCError
if a ParseError occurs. | public String | getErrorMessage() Get error message from previous call to checkInput(). | public Expression | getExpression() Get the Expression associated with this ExpressionInput. | public Function | getFunction(Variable v) Get a function of one variable whose value at a real number
x is computed by assigning x to the variable v and then
returning the value of the expression associated with this
ExpressionInput. | public Function | getFunction(Variable[] v) Get a function of one or more variables whose value at arguments
x1, x2, ... | public Controller | getOnTextChange() | public Controller | getOnUserAction() Return the Controller, if any, that is notified when the user
presses return in this text-input box. | public boolean | getThrowErrors() Return the value of the throwErrors property, which determines whether errors
can be thrown when checkInput() is called. | public double | getVal() Return the current value of the expression associated with
this ExpressionInput. | public void | notifyControllerOnChange(Controller c) Method required by InputObject interface; in this class, it simply calls
setOnUserAction(c). | public void | processActionEvent(ActionEvent evt) Overridden to call onUserAction.compute() if onUserAction is non-null. | public void | processTextEvent(TextEvent evt) Overridden to call onUserAction.compute() if onUserAction is non-null. | public void | setOnTextChange(Controller c) If the parameter, c, is non-null, then its compute method will be called whenever
the text in this input box changes. | public void | setOnUserAction(Controller c) If the parameter c is non-null, then its compute method will be called whenever
the user presses the return key while typing in this text-input box. | public void | setParser(Parser p) Set the parser that is used to parse the user's input strings. | public void | setText(String str) Set the text displayed in this input box. | public void | setThrowErrors(boolean throwErrors) Set the throwErrors property. |
errorMessage | protected String errorMessage(Code) | | Error message from the most recent
time the input was checked by a
call to checkInput(). If this is
null, then no error occurred.
|
expr | protected EI expr(Code) | | The Expression associate with this input box.
Class EI is a private nested class.
|
parser | protected Parser parser(Code) | | A parser for parsing the user's input
expression. If this is null,
a default parser will be used and
only constant expressions will
be allowed.
|
throwErrors | protected boolean throwErrors(Code) | | True if an error should be thrown
when checkInput() is called,
but the content of the box is not
a legal expression. Otherwise, the
expression will become a constant
expression with value Double.NaN.
|
ExpressionInput | public ExpressionInput()(Code) | | Create a new ExpressionFunction with no associated parser. This can only
be used to input constant expressions, unless you set a parser later with setParser().
|
ExpressionInput | public ExpressionInput(String initialValue, Parser p)(Code) | | Create an ExpressionInputBox with initial contents given by initialValue.
(If initialValue is null, the empty string is used.) If p is not null,
then p will be used to parse the contents of the box.
Parameters: initialValue - initial contents of ExpressionInputBox. Parameters: p - if non-null, this parser will be used to parse contents of the ExpressionInputBox. |
checkInput | public void checkInput()(Code) | | Get the expression from the box, maybe throw a JBCError
if a ParseError occurs. This is meant to be called by a Controller, in general.
The expression associated with this ExpressionInput can only change when this
method is called; it DOES NOT change continuously as the user types.
|
getErrorMessage | public String getErrorMessage()(Code) | | Get error message from previous call to checkInput().
Returns null if and only if there was no error.
|
getExpression | public Expression getExpression()(Code) | | Get the Expression associated with this ExpressionInput.
|
getFunction | public Function getFunction(Variable v)(Code) | | Get a function of one variable whose value at a real number
x is computed by assigning x to the variable v and then
returning the value of the expression associated with this
ExpressionInput. Of couse, v should be one of the variables
registered with the Parser for this ExpressionInput, or else
in can never occur in the expression.
Note that the value of the variable v changes TEMPORARILY
when the function is evaluated. (So you should not use
a variable where setting the value has a side effect,
such as the variable associated with a SliderVariable.)
Parameters: v - The function that is returned in a function of this variable. |
getFunction | public Function getFunction(Variable[] v)(Code) | | Get a function of one or more variables whose value at arguments
x1, x2, ... is computed by assigning the x's to the variables and then
returning the value of the expression associated with this
ExpressionInput. Of couse, each v[i] should be one of the variables
registered with the Parser for this ExpressionInput.
Note that the value of the variables change TEMPORARILY
when the function is evaluated.
Parameters: v - The function that is returned is a function of the variables in this array. |
getOnTextChange | public Controller getOnTextChange()(Code) | | Return the Controller, if any, that is notified whenever the text
in this input box changes
|
getOnUserAction | public Controller getOnUserAction()(Code) | | Return the Controller, if any, that is notified when the user
presses return in this text-input box.
|
getThrowErrors | public boolean getThrowErrors()(Code) | | Return the value of the throwErrors property, which determines whether errors
can be thrown when checkInput() is called.
|
getVal | public double getVal()(Code) | | Return the current value of the expression associated with
this ExpressionInput.
|
notifyControllerOnChange | public void notifyControllerOnChange(Controller c)(Code) | | Method required by InputObject interface; in this class, it simply calls
setOnUserAction(c). This is meant to be called by JCMPanel.gatherInputs().
|
processActionEvent | public void processActionEvent(ActionEvent evt)(Code) | | Overridden to call onUserAction.compute() if onUserAction is non-null.
This is not meant to be called directly
|
processTextEvent | public void processTextEvent(TextEvent evt)(Code) | | Overridden to call onUserAction.compute() if onUserAction is non-null.
This is not meant to be called directly.
|
setOnTextChange | public void setOnTextChange(Controller c)(Code) | | If the parameter, c, is non-null, then its compute method will be called whenever
the text in this input box changes. Furthermore, the throwErrors
property will be set to false, to avoid throwing multiple errors
while the user is typing. (You can change it back to true if
you want by calling setThrowErrors(true).) It would only rarely make sense to
use this feature.
|
setOnUserAction | public void setOnUserAction(Controller c)(Code) | | If the parameter c is non-null, then its compute method will be called whenever
the user presses the return key while typing in this text-input box.
|
setParser | public void setParser(Parser p)(Code) | | Set the parser that is used to parse the user's input strings.
If this is null, then a default parser is used that will
only allow constant expressions.
Parameters: p - parser to register with user's input strings. |
setText | public void setText(String str)(Code) | | Set the text displayed in this input box. This overrides TextField.setText
to make sure that the expression will be recomputed the next time
checkInput() is called.
|
setThrowErrors | public void setThrowErrors(boolean throwErrors)(Code) | | Set the throwErrors property. When this is true, a JCMError can be thrown
when checkInput() is called an a parse error is found in the contents of the input box.
If throwErrors is false, no error is thrown. Instead,
the expression is set to a constant expression with value Double.NaN.
|
Methods inherited from java.awt.Component | public boolean action(Event evt, Object what)(Code)(Java Doc) public void add(PopupMenu popup)(Code)(Java Doc) public synchronized void addComponentListener(ComponentListener l)(Code)(Java Doc) public synchronized void addFocusListener(FocusListener l)(Code)(Java Doc) public void addHierarchyBoundsListener(HierarchyBoundsListener l)(Code)(Java Doc) public void addHierarchyListener(HierarchyListener l)(Code)(Java Doc) public synchronized void addInputMethodListener(InputMethodListener l)(Code)(Java Doc) public synchronized void addKeyListener(KeyListener l)(Code)(Java Doc) public synchronized void addMouseListener(MouseListener l)(Code)(Java Doc) public synchronized void addMouseMotionListener(MouseMotionListener l)(Code)(Java Doc) public synchronized void addMouseWheelListener(MouseWheelListener l)(Code)(Java Doc) public void addNotify()(Code)(Java Doc) public synchronized void addPropertyChangeListener(PropertyChangeListener listener)(Code)(Java Doc) public synchronized void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)(Code)(Java Doc) public void applyComponentOrientation(ComponentOrientation orientation)(Code)(Java Doc) public boolean areFocusTraversalKeysSet(int id)(Code)(Java Doc) public Rectangle bounds()(Code)(Java Doc) public int checkImage(Image image, ImageObserver observer)(Code)(Java Doc) public int checkImage(Image image, int width, int height, ImageObserver observer)(Code)(Java Doc) protected AWTEvent coalesceEvents(AWTEvent existingEvent, AWTEvent newEvent)(Code)(Java Doc) public boolean contains(int x, int y)(Code)(Java Doc) public boolean contains(Point p)(Code)(Java Doc) public Image createImage(ImageProducer producer)(Code)(Java Doc) public Image createImage(int width, int height)(Code)(Java Doc) public VolatileImage createVolatileImage(int width, int height)(Code)(Java Doc) public VolatileImage createVolatileImage(int width, int height, ImageCapabilities caps) throws AWTException(Code)(Java Doc) public void deliverEvent(Event e)(Code)(Java Doc) public void disable()(Code)(Java Doc) final protected void disableEvents(long eventsToDisable)(Code)(Java Doc) final public void dispatchEvent(AWTEvent e)(Code)(Java Doc) public void doLayout()(Code)(Java Doc) public void enable()(Code)(Java Doc) public void enable(boolean b)(Code)(Java Doc) final protected void enableEvents(long eventsToEnable)(Code)(Java Doc) public void enableInputMethods(boolean enable)(Code)(Java Doc) protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)(Code)(Java Doc) protected void firePropertyChange(String propertyName, boolean oldValue, boolean newValue)(Code)(Java Doc) protected void firePropertyChange(String propertyName, int oldValue, int newValue)(Code)(Java Doc) public void firePropertyChange(String propertyName, byte oldValue, byte newValue)(Code)(Java Doc) public void firePropertyChange(String propertyName, char oldValue, char newValue)(Code)(Java Doc) public void firePropertyChange(String propertyName, short oldValue, short newValue)(Code)(Java Doc) public void firePropertyChange(String propertyName, long oldValue, long newValue)(Code)(Java Doc) public void firePropertyChange(String propertyName, float oldValue, float newValue)(Code)(Java Doc) public void firePropertyChange(String propertyName, double oldValue, double newValue)(Code)(Java Doc) public AccessibleContext getAccessibleContext()(Code)(Java Doc) public float getAlignmentX()(Code)(Java Doc) public float getAlignmentY()(Code)(Java Doc) public Color getBackground()(Code)(Java Doc) public int getBaseline(int width, int height)(Code)(Java Doc) public BaselineResizeBehavior getBaselineResizeBehavior()(Code)(Java Doc) public Rectangle getBounds()(Code)(Java Doc) public Rectangle getBounds(Rectangle rv)(Code)(Java Doc) public ColorModel getColorModel()(Code)(Java Doc) public Component getComponentAt(int x, int y)(Code)(Java Doc) public Component getComponentAt(Point p)(Code)(Java Doc) public synchronized ComponentListener[] getComponentListeners()(Code)(Java Doc) public ComponentOrientation getComponentOrientation()(Code)(Java Doc) public Cursor getCursor()(Code)(Java Doc) public synchronized DropTarget getDropTarget()(Code)(Java Doc) public Container getFocusCycleRootAncestor()(Code)(Java Doc) public synchronized FocusListener[] getFocusListeners()(Code)(Java Doc) public Set<AWTKeyStroke> getFocusTraversalKeys(int id)(Code)(Java Doc) public boolean getFocusTraversalKeysEnabled()(Code)(Java Doc) public Font getFont()(Code)(Java Doc) public FontMetrics getFontMetrics(Font font)(Code)(Java Doc) public Color getForeground()(Code)(Java Doc) public Graphics getGraphics()(Code)(Java Doc) public GraphicsConfiguration getGraphicsConfiguration()(Code)(Java Doc) public int getHeight()(Code)(Java Doc) public synchronized HierarchyBoundsListener[] getHierarchyBoundsListeners()(Code)(Java Doc) public synchronized HierarchyListener[] getHierarchyListeners()(Code)(Java Doc) public boolean getIgnoreRepaint()(Code)(Java Doc) public InputContext getInputContext()(Code)(Java Doc) public synchronized InputMethodListener[] getInputMethodListeners()(Code)(Java Doc) public InputMethodRequests getInputMethodRequests()(Code)(Java Doc) public synchronized KeyListener[] getKeyListeners()(Code)(Java Doc) public T[] getListeners(Class<T> listenerType)(Code)(Java Doc) public Locale getLocale()(Code)(Java Doc) public Point getLocation()(Code)(Java Doc) public Point getLocation(Point rv)(Code)(Java Doc) public Point getLocationOnScreen()(Code)(Java Doc) public Dimension getMaximumSize()(Code)(Java Doc) public Dimension getMinimumSize()(Code)(Java Doc) public synchronized MouseListener[] getMouseListeners()(Code)(Java Doc) public synchronized MouseMotionListener[] getMouseMotionListeners()(Code)(Java Doc) public Point getMousePosition() throws HeadlessException(Code)(Java Doc) public synchronized MouseWheelListener[] getMouseWheelListeners()(Code)(Java Doc) public String getName()(Code)(Java Doc) public Container getParent()(Code)(Java Doc) public ComponentPeer getPeer()(Code)(Java Doc) public Dimension getPreferredSize()(Code)(Java Doc) public synchronized PropertyChangeListener[] getPropertyChangeListeners()(Code)(Java Doc) public synchronized PropertyChangeListener[] getPropertyChangeListeners(String propertyName)(Code)(Java Doc) public Dimension getSize()(Code)(Java Doc) public Dimension getSize(Dimension rv)(Code)(Java Doc) public Toolkit getToolkit()(Code)(Java Doc) final public Object getTreeLock()(Code)(Java Doc) public int getWidth()(Code)(Java Doc) public int getX()(Code)(Java Doc) public int getY()(Code)(Java Doc) public boolean gotFocus(Event evt, Object what)(Code)(Java Doc) public boolean handleEvent(Event evt)(Code)(Java Doc) public boolean hasFocus()(Code)(Java Doc) public void hide()(Code)(Java Doc) public boolean imageUpdate(Image img, int infoflags, int x, int y, int w, int h)(Code)(Java Doc) public boolean inside(int x, int y)(Code)(Java Doc) public void invalidate()(Code)(Java Doc) public boolean isBackgroundSet()(Code)(Java Doc) public boolean isCursorSet()(Code)(Java Doc) public boolean isDisplayable()(Code)(Java Doc) public boolean isDoubleBuffered()(Code)(Java Doc) public boolean isEnabled()(Code)(Java Doc) public boolean isFocusCycleRoot(Container container)(Code)(Java Doc) public boolean isFocusOwner()(Code)(Java Doc) public boolean isFocusTraversable()(Code)(Java Doc) public boolean isFocusable()(Code)(Java Doc) public boolean isFontSet()(Code)(Java Doc) public boolean isForegroundSet()(Code)(Java Doc) public boolean isLightweight()(Code)(Java Doc) public boolean isMaximumSizeSet()(Code)(Java Doc) public boolean isMinimumSizeSet()(Code)(Java Doc) public boolean isOpaque()(Code)(Java Doc) public boolean isPreferredSizeSet()(Code)(Java Doc) public boolean isShowing()(Code)(Java Doc) public boolean isValid()(Code)(Java Doc) public boolean isVisible()(Code)(Java Doc) public boolean keyDown(Event evt, int key)(Code)(Java Doc) public boolean keyUp(Event evt, int key)(Code)(Java Doc) public void layout()(Code)(Java Doc) public void list()(Code)(Java Doc) public void list(PrintStream out)(Code)(Java Doc) public void list(PrintStream out, int indent)(Code)(Java Doc) public void list(PrintWriter out)(Code)(Java Doc) public void list(PrintWriter out, int indent)(Code)(Java Doc) public Component locate(int x, int y)(Code)(Java Doc) public Point location()(Code)(Java Doc) public boolean lostFocus(Event evt, Object what)(Code)(Java Doc) public Dimension minimumSize()(Code)(Java Doc) public boolean mouseDown(Event evt, int x, int y)(Code)(Java Doc) public boolean mouseDrag(Event evt, int x, int y)(Code)(Java Doc) public boolean mouseEnter(Event evt, int x, int y)(Code)(Java Doc) public boolean mouseExit(Event evt, int x, int y)(Code)(Java Doc) public boolean mouseMove(Event evt, int x, int y)(Code)(Java Doc) public boolean mouseUp(Event evt, int x, int y)(Code)(Java Doc) public void move(int x, int y)(Code)(Java Doc) public void nextFocus()(Code)(Java Doc) public void paint(Graphics g)(Code)(Java Doc) public void paintAll(Graphics g)(Code)(Java Doc) protected String paramString()(Code)(Java Doc) public boolean postEvent(Event e)(Code)(Java Doc) public Dimension preferredSize()(Code)(Java Doc) public boolean prepareImage(Image image, ImageObserver observer)(Code)(Java Doc) public boolean prepareImage(Image image, int width, int height, ImageObserver observer)(Code)(Java Doc) public void print(Graphics g)(Code)(Java Doc) public void printAll(Graphics g)(Code)(Java Doc) protected void processComponentEvent(ComponentEvent e)(Code)(Java Doc) protected void processEvent(AWTEvent e)(Code)(Java Doc) protected void processFocusEvent(FocusEvent e)(Code)(Java Doc) protected void processHierarchyBoundsEvent(HierarchyEvent e)(Code)(Java Doc) protected void processHierarchyEvent(HierarchyEvent e)(Code)(Java Doc) protected void processInputMethodEvent(InputMethodEvent e)(Code)(Java Doc) protected void processKeyEvent(KeyEvent e)(Code)(Java Doc) protected void processMouseEvent(MouseEvent e)(Code)(Java Doc) protected void processMouseMotionEvent(MouseEvent e)(Code)(Java Doc) protected void processMouseWheelEvent(MouseWheelEvent e)(Code)(Java Doc) public void remove(MenuComponent popup)(Code)(Java Doc) public synchronized void removeComponentListener(ComponentListener l)(Code)(Java Doc) public synchronized void removeFocusListener(FocusListener l)(Code)(Java Doc) public void removeHierarchyBoundsListener(HierarchyBoundsListener l)(Code)(Java Doc) public void removeHierarchyListener(HierarchyListener l)(Code)(Java Doc) public synchronized void removeInputMethodListener(InputMethodListener l)(Code)(Java Doc) public synchronized void removeKeyListener(KeyListener l)(Code)(Java Doc) public synchronized void removeMouseListener(MouseListener l)(Code)(Java Doc) public synchronized void removeMouseMotionListener(MouseMotionListener l)(Code)(Java Doc) public synchronized void removeMouseWheelListener(MouseWheelListener l)(Code)(Java Doc) public void removeNotify()(Code)(Java Doc) public synchronized void removePropertyChangeListener(PropertyChangeListener listener)(Code)(Java Doc) public synchronized void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)(Code)(Java Doc) public void repaint()(Code)(Java Doc) public void repaint(long tm)(Code)(Java Doc) public void repaint(int x, int y, int width, int height)(Code)(Java Doc) public void repaint(long tm, int x, int y, int width, int height)(Code)(Java Doc) public void requestFocus()(Code)(Java Doc) protected boolean requestFocus(boolean temporary)(Code)(Java Doc) public boolean requestFocusInWindow()(Code)(Java Doc) protected boolean requestFocusInWindow(boolean temporary)(Code)(Java Doc) public void reshape(int x, int y, int width, int height)(Code)(Java Doc) public void resize(int width, int height)(Code)(Java Doc) public void resize(Dimension d)(Code)(Java Doc) public void setBackground(Color c)(Code)(Java Doc) public void setBounds(int x, int y, int width, int height)(Code)(Java Doc) public void setBounds(Rectangle r)(Code)(Java Doc) public void setComponentOrientation(ComponentOrientation o)(Code)(Java Doc) public void setCursor(Cursor cursor)(Code)(Java Doc) public synchronized void setDropTarget(DropTarget dt)(Code)(Java Doc) public void setEnabled(boolean b)(Code)(Java Doc) public void setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)(Code)(Java Doc) public void setFocusTraversalKeysEnabled(boolean focusTraversalKeysEnabled)(Code)(Java Doc) public void setFocusable(boolean focusable)(Code)(Java Doc) public void setFont(Font f)(Code)(Java Doc) public void setForeground(Color c)(Code)(Java Doc) public void setIgnoreRepaint(boolean ignoreRepaint)(Code)(Java Doc) public void setLocale(Locale l)(Code)(Java Doc) public void setLocation(int x, int y)(Code)(Java Doc) public void setLocation(Point p)(Code)(Java Doc) public void setMaximumSize(Dimension maximumSize)(Code)(Java Doc) public void setMinimumSize(Dimension minimumSize)(Code)(Java Doc) public void setName(String name)(Code)(Java Doc) public void setPreferredSize(Dimension preferredSize)(Code)(Java Doc) public void setSize(int width, int height)(Code)(Java Doc) public void setSize(Dimension d)(Code)(Java Doc) public void setVisible(boolean b)(Code)(Java Doc) public void show()(Code)(Java Doc) public void show(boolean b)(Code)(Java Doc) public Dimension size()(Code)(Java Doc) public String toString()(Code)(Java Doc) public void transferFocus()(Code)(Java Doc) public void transferFocusBackward()(Code)(Java Doc) public void transferFocusUpCycle()(Code)(Java Doc) public void update(Graphics g)(Code)(Java Doc) public void validate()(Code)(Java Doc)
|
|
|