|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent javax.swing.text.JTextComponent javax.swing.JTextField net.sourceforge.webcompmath.awt.ExpressionInput
public class ExpressionInput
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.
Nested Class Summary | |
---|---|
protected class |
ExpressionInput.EI
The expression associated with an ExpressionInput belongs to this class. |
Nested classes/interfaces inherited from class javax.swing.JTextField |
---|
javax.swing.JTextField.AccessibleJTextField |
Nested classes/interfaces inherited from class javax.swing.text.JTextComponent |
---|
javax.swing.text.JTextComponent.AccessibleJTextComponent, javax.swing.text.JTextComponent.DropLocation, javax.swing.text.JTextComponent.KeyBinding |
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 | |
---|---|
protected java.lang.String |
errorMessage
Error message from the most recent time the input was checked by a call to checkInput(). |
protected ExpressionInput.EI |
expr
The Expression associate with this input box. |
protected boolean |
hasChanged
True if the contents of the box have not changed since the last time the input was checked (by a call to checkInput()). |
protected Parser |
parser
A parser for parsing the user's input expression. |
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. |
Fields inherited from class javax.swing.JTextField |
---|
notifyAction |
Fields inherited from class javax.swing.text.JTextComponent |
---|
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY |
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 javax.swing.SwingConstants |
---|
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST |
Fields inherited from interface java.awt.image.ImageObserver |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
Constructor Summary | |
---|---|
ExpressionInput()
changed by PKHG 050415 A default function 1 Create a new ExpressionFunction with no associated parser. |
|
ExpressionInput(java.lang.String initialValue,
Parser p)
Create an ExpressionInputBox with initial contents given by initialValue. |
Method Summary | |
---|---|
void |
actionPerformed(java.awt.event.ActionEvent evt)
Overridden to call onUserAction.compute() if onUserAction is non-null. |
void |
changedUpdate(javax.swing.event.DocumentEvent evt)
Dummy, required by DocumentListener interface |
void |
checkInput()
Get the expression from the box, maybe throw a JBCError if a ParseError occurs. |
void |
forceCheckInput()
Forces a checkInput. |
java.lang.String |
getErrorMessage()
Get error message from previous call to checkInput(). |
Expression |
getExpression()
Get the Expression associated with this ExpressionInput. |
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. |
Function |
getFunction(Variable[] v)
Get a function of one or more variables whose value at arguments x1, x2, etc is computed by assigning the x's to the variables and then returning the value of the expression associated with this ExpressionInput. |
Controller |
getOnTextChange()
Return the Controller, if any, that is notified whenever the text in this input box changes |
Controller |
getOnUserAction()
Return the Controller, if any, that is notified when the user presses return in this text-input box. |
Parser |
getParser()
test pkhg 050418 |
boolean |
getThrowErrors()
Return the value of the throwErrors property, which determines whether errors can be thrown when checkInput() is called. |
double |
getVal()
Return the current value of the expression associated with this ExpressionInput. |
void |
insertUpdate(javax.swing.event.DocumentEvent evt)
Overridden to call onTextChange.compute() if onTextChange is non-null. |
void |
notifyControllerOnChange(Controller c)
Method required by InputObject interface; in this class, it simply calls setOnUserAction(c). |
void |
removeUpdate(javax.swing.event.DocumentEvent evt)
Overridden to call onTextChange.compute() if onTextChange is non-null. |
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. |
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. |
void |
setParser(Parser p)
Set the parser that is used to parse the user's input strings. |
void |
setText(java.lang.String str)
Set the text displayed in this input box. |
void |
setThrowErrors(boolean throwErrors)
Set the throwErrors property. |
java.lang.String |
toString()
returns a text representation of this ExpressionInput. |
Methods inherited from class javax.swing.JTextField |
---|
actionPropertyChanged, addActionListener, configurePropertiesFromAction, createActionPropertyChangeListener, createDefaultModel, fireActionPerformed, getAccessibleContext, getAction, getActionListeners, getActions, getColumns, getColumnWidth, getHorizontalAlignment, getHorizontalVisibility, getPreferredSize, getScrollOffset, getUIClassID, isValidateRoot, paramString, postActionEvent, removeActionListener, scrollRectToVisible, setAction, setActionCommand, setColumns, setDocument, setFont, setHorizontalAlignment, setScrollOffset |
Methods inherited from class javax.swing.text.JTextComponent |
---|
addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getDropLocation, getDropMode, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getPrintable, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, moveCaretPosition, paste, print, print, print, processInputMethodEvent, read, removeCaretListener, removeKeymap, removeNotify, replaceSelection, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setUI, updateUI, viewToModel, write |
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, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update |
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, 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, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, transferFocus, transferFocusUpCycle |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected ExpressionInput.EI expr
protected Parser parser
protected boolean hasChanged
protected boolean throwErrors
protected java.lang.String errorMessage
Constructor Detail |
---|
public ExpressionInput()
public ExpressionInput(java.lang.String initialValue, Parser p)
initialValue
- initial contents of ExpressionInputBox.p
- if non-null, this parser will be used to parse contents of the
ExpressionInputBox.Method Detail |
---|
public void setParser(Parser p)
p
- parser to register with user's input strings.public Parser getParser()
public Expression getExpression()
public Function getFunction(Variable v)
v
- The function that is returned is a function of this variable.
public Function getFunction(Variable[] v)
v
- The function that is returned is a function of the variables
in this array.
public double getVal()
getVal
in interface Value
public void setOnUserAction(Controller c)
c
- the controller to usepublic Controller getOnUserAction()
public void notifyControllerOnChange(Controller c)
notifyControllerOnChange
in interface InputObject
c
- the controller to notifypublic void setOnTextChange(Controller c)
c
- the controller to callpublic Controller getOnTextChange()
public void setThrowErrors(boolean throwErrors)
throwErrors
- true or falsepublic boolean getThrowErrors()
public java.lang.String getErrorMessage()
public void checkInput()
checkInput
in interface InputObject
public void forceCheckInput()
public void setText(java.lang.String str)
setText
in class javax.swing.text.JTextComponent
str
- the text to displaypublic void actionPerformed(java.awt.event.ActionEvent evt)
actionPerformed
in interface java.awt.event.ActionListener
evt
- the event created when user hits returnpublic void insertUpdate(javax.swing.event.DocumentEvent evt)
insertUpdate
in interface javax.swing.event.DocumentListener
evt
- event created when user inserts a characterpublic void removeUpdate(javax.swing.event.DocumentEvent evt)
removeUpdate
in interface javax.swing.event.DocumentListener
evt
- event created when user deletes a characterpublic void changedUpdate(javax.swing.event.DocumentEvent evt)
changedUpdate
in interface javax.swing.event.DocumentListener
evt
- the eventpublic java.lang.String toString()
toString
in class java.awt.Component
Component.toString()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |