edu.hws.jcm.functions
Class TableFunctionInput
java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Panel
edu.hws.jcm.functions.TableFunctionInput
- All Implemented Interfaces:
- ActionListener, ItemListener, MouseListener, MouseMotionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible
public class TableFunctionInput
- extends Panel
- implements ItemListener, ActionListener, MouseListener, MouseMotionListener
A TableInputFunction is a Panel that can be used to define a TableFunction
or to edit an existing TableFunction. To fetch the function currently
displayed in the panel, call copyOfCurrentFunction(). To edit a function,
call startEdit() to install the function. Then call cancelEdit() or
finishEdit() to finish the editing. The panel displays both the graph
of the function and a list of points that define the function. The user
can drag the points on the graph up and down to change the y-values.
Points can be added or modified by typing in their x- and y-coordinates.
A point can be deleted by clicking it in the list of points and then
clicking on the button labeled "Delete Point".
- See Also:
- Serialized Form
Method Summary |
void |
actionPerformed(ActionEvent evt)
React when user clicks one of the buttons or presses return in one
of the input boxes. |
void |
cancelEdit()
Discards the internal pointer to the edit function (specified by startEdit()),
if any. |
TableFunction |
copyOfCurrentFunction()
Create a new TableFunction containing the data that is currently
in the TableFunctionInput panel, and return a pointer to that new function. |
TableFunction |
finishEdit()
If an edit function has been specified (by startEdit()), this function copies the
data form the TableFunctionInput into that function, and returns a
pointer to that function. |
Insets |
getInsets()
Leave a 3-pixel gap around the edges of the panel. |
Controller |
getOnChange()
Get the Controller that is notified when the user edits the data
in this panel. |
void |
itemStateChanged(ItemEvent evt)
React when user clicks on a point in the list of points or clicks one
of the radio buttons for specifying the style of the function. |
void |
mouseClicked(MouseEvent evt)
Empty method, required by the MouseListener interface. |
void |
mouseDragged(MouseEvent evt)
Method required by the MouseListener interface. |
void |
mouseEntered(MouseEvent evt)
Empty method, required by the MouseMotionListener interface. |
void |
mouseExited(MouseEvent evt)
Empty method, required by the MouseMotionListener interface. |
void |
mouseMoved(MouseEvent evt)
Empty method, required by the MouseMotionListener interface. |
void |
mousePressed(MouseEvent evt)
Method required by the MouseListener interface. |
void |
mouseReleased(MouseEvent evt)
Method required by the MouseListener interface. |
void |
revertEditFunction()
If a function has been specified using startEdit(), and neither
finishEdit() nor cancelEdit have been called, then this method
will discard the current data in and replace it with data from
the edit function. |
void |
setOnChange(Controller c)
Specify a controller whose compute() method will be called whenever
the user edits the data in this TableFunctionInput panel. |
void |
startEdit(TableFunction f)
Install a function to be edited. |
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, 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, 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, transferFocusBackward, transferFocusUpCycle |
TableFunctionInput
public TableFunctionInput()
- Create a TableFunctionInput panel. Initially, the function in the
panel has no points and so is undefined everywhere. The panel needs
to be fairly large!
startEdit
public void startEdit(TableFunction f)
- Install a function to be edited. The data from the function is
copied into the panel, and a pointer to the function is retained.
Note that the function itself is not changed by any editing that
the user does. To commit the changes made by the user to the
actual function, you must call finishEdit(). If f is null,
the effect is to start with a new, empty function.
revertEditFunction
public void revertEditFunction()
- If a function has been specified using startEdit(), and neither
finishEdit() nor cancelEdit have been called, then this method
will discard the current data in and replace it with data from
the edit function. If there is no edit function, then the data
is simply discarded. (That is, the data reverts to an empty point list.)
finishEdit
public TableFunction finishEdit()
- If an edit function has been specified (by startEdit()), this function copies the
data form the TableFunctionInput into that function, and returns a
pointer to that function. This ends the edit session, and the internally stored
pointer to the edit function is discarded. If no edit function has been specified
then a new TableFunction is created with the data from the panel, and a
pointer to the new function is returned. This does not clear the data
in the TableFunctionInput panel.
cancelEdit
public void cancelEdit()
- Discards the internal pointer to the edit function (specified by startEdit()),
if any. This does not clear the data in the TableFunctionInput panel.
copyOfCurrentFunction
public TableFunction copyOfCurrentFunction()
- Create a new TableFunction containing the data that is currently
in the TableFunctionInput panel, and return a pointer to that new function.
setOnChange
public void setOnChange(Controller c)
- Specify a controller whose compute() method will be called whenever
the user edits the data in this TableFunctionInput panel. (Note that
when the user edits the function by dragging a point, the Controller
is only called once at the end of the drag.) If the specified
Controller is null, then no notification takes place.
getOnChange
public Controller getOnChange()
- Get the Controller that is notified when the user edits the data
in this panel. The return value can be null (the default), indicating
that no notification takes place.
getInsets
public Insets getInsets()
- Leave a 3-pixel gap around the edges of the panel. Not meant to be called directly.
- Overrides:
getInsets
in class Container
actionPerformed
public void actionPerformed(ActionEvent evt)
- React when user clicks one of the buttons or presses return in one
of the input boxes. Not meant to be called directly.
- Specified by:
actionPerformed
in interface ActionListener
itemStateChanged
public void itemStateChanged(ItemEvent evt)
- React when user clicks on a point in the list of points or clicks one
of the radio buttons for specifying the style of the function.
Not meant to be called directly.
- Specified by:
itemStateChanged
in interface ItemListener
mousePressed
public void mousePressed(MouseEvent evt)
- Method required by the MouseListener interface. Defined here to
support dragging of points on the function's graph. Not meant to be called directly.
- Specified by:
mousePressed
in interface MouseListener
mouseReleased
public void mouseReleased(MouseEvent evt)
- Method required by the MouseListener interface. Defined here to
support dragging of points on the function's graph. Not meant to be called directly.
- Specified by:
mouseReleased
in interface MouseListener
mouseDragged
public void mouseDragged(MouseEvent evt)
- Method required by the MouseListener interface. Defined here to
support dragging of points on the function's graph. Not meant to be called directly.
- Specified by:
mouseDragged
in interface MouseMotionListener
mouseClicked
public void mouseClicked(MouseEvent evt)
- Empty method, required by the MouseListener interface.
- Specified by:
mouseClicked
in interface MouseListener
mouseEntered
public void mouseEntered(MouseEvent evt)
- Empty method, required by the MouseMotionListener interface.
- Specified by:
mouseEntered
in interface MouseListener
mouseExited
public void mouseExited(MouseEvent evt)
- Empty method, required by the MouseMotionListener interface.
- Specified by:
mouseExited
in interface MouseListener
mouseMoved
public void mouseMoved(MouseEvent evt)
- Empty method, required by the MouseMotionListener interface.
- Specified by:
mouseMoved
in interface MouseMotionListener