Package edu.hws.jcm.functions
Class TableFunctionGraph
java.lang.Object
edu.hws.jcm.draw.Drawable
edu.hws.jcm.functions.TableFunctionGraph
- All Implemented Interfaces:
MouseListener,MouseMotionListener,Serializable,EventListener
A TableFunctionGraph is a Drawable object that can be added to a CoordinateRect (or DisplayCanvas).
It draws the graph of a specified TableFunction.
A TableFunction is a function and can also be graphed by an object of the class edu.hws.jcm.draw.Graph1D.
However, a TableFunctionGraph offers the option of showing the points from the table that defines
the function as small disks (true by default) and the option of making the graph "interactive" so
that the user can drag the points (false by default).
- See Also:
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionCreate a TableFunctionGraph that initially draws no function.TableFunctionGraph(TableFunction function) Create a TableFunctionGraph to draw the specified TableFunction. -
Method Summary
Modifier and TypeMethodDescriptionvoidOverride the draw() method from class Drawable to draw the function.getColor()Get the non-null color that is used for drawing the graph.Get the TableFunction whose graph is drawn by this TableFunctionGraph.booleanGet the value of the interactive property, which is true if the user can modify the function by dragging the points from the table.Get the Computable that is notified as the user drags a point.Get the Computable that is notified when the user finishes dragging a point.booleanGet the showPoints property, which determines whether the points from the table that defines the function are visible as little disks.voidmouseClicked(MouseEvent evt) Empty method, required by the MouseListener interface.voidmouseDragged(MouseEvent evt) Method required by the MouseListener interface.voidmouseEntered(MouseEvent evt) Empty method, required by the MouseMotionListener interface.voidmouseExited(MouseEvent evt) Empty method, required by the MouseMotionListener interface.voidmouseMoved(MouseEvent evt) Empty method, required by the MouseMotionListener interface.voidmousePressed(MouseEvent evt) Method required by the MouseListener interface.voidmouseReleased(MouseEvent evt) Method required by the MouseListener interface.voidSet the color that is used for drawing the graph.voidsetFunction(TableFunction function) Set the function whose graph is drawn by this TableFunctionGraph.voidsetFunctionStyle(int style) Provided as a convenience.voidsetInteractive(boolean interactive) Set the value of the interactive property, which is true if the user can modify the function by dragging the points from the table.voidSpecify a controller whose compute() method will be called repeatedly as the user drags one of the points from the table function.voidSpecify a controller whose compute() method will be called once when the user finishes dragging one of the points from the table function.protected voidsetOwnerData(DisplayCanvas canvas, CoordinateRect coords) Sets the values of member variables canvas and coords.voidsetShowPoints(boolean show) Set the showPoints property, which determines whether the points from the table that defines the function are visible as little disks.Methods inherited from class edu.hws.jcm.draw.Drawable
getVisible, needsRedraw, setVisible
-
Constructor Details
-
TableFunctionGraph
public TableFunctionGraph()Create a TableFunctionGraph that initially draws no function. A function can be set later with setFunction. -
TableFunctionGraph
Create a TableFunctionGraph to draw the specified TableFunction.
-
-
Method Details
-
setFunction
Set the function whose graph is drawn by this TableFunctionGraph. If the value is null, nothing is drawn -
getFunction
Get the TableFunction whose graph is drawn by this TableFunctionGraph. If the value is null, then no graph is drawn. -
setOnDrag
Specify a controller whose compute() method will be called repeatedly as the user drags one of the points from the table function. This only applies if the "interactive" property is true. -
getOnDrag
Get the Computable that is notified as the user drags a point. -
setOnFinishDrag
Specify a controller whose compute() method will be called once when the user finishes dragging one of the points from the table function. This only applies if the "interactive" property is true. -
getOnFinishDrag
Get the Computable that is notified when the user finishes dragging a point. -
setInteractive
public void setInteractive(boolean interactive) Set the value of the interactive property, which is true if the user can modify the function by dragging the points from the table. The default is false. -
getInteractive
public boolean getInteractive()Get the value of the interactive property, which is true if the user can modify the function by dragging the points from the table. -
setShowPoints
public void setShowPoints(boolean show) Set the showPoints property, which determines whether the points from the table that defines the function are visible as little disks. The default is true; -
getShowPoints
public boolean getShowPoints()Get the showPoints property, which determines whether the points from the table that defines the function are visible as little disks. -
setColor
Set the color that is used for drawing the graph. The defalt is magenta. If the specified Color value is null, the call to setColor is ignored. -
getColor
Get the non-null color that is used for drawing the graph. -
setOwnerData
Sets the values of member variables canvas and coords. This is designed to be called only by the CoordinateRect class. This overrides Drawable.setOwnerData();- Overrides:
setOwnerDatain classDrawable
-
setFunctionStyle
public void setFunctionStyle(int style) Provided as a convenience. If the function for this TableFunctionGraph is non-null, its style is set to the specified style, and the graph is redrawn. The parameter should be one of the constants TableFunction.SMOOTH, TableFunction.PIECEWISE_LINEAR, TableFunction.STEP, TableFunction.STEP_LEFT, or TableFunction.STEP_RIGHT. -
draw
Override the draw() method from class Drawable to draw the function. This is not meant to be called directly.- Specified by:
drawin classDrawable- Parameters:
g- The graphics context in which the Drawble is to be drawn. (The drawing can change the color in g, but should not permanently change font, painting mode, etc. Thus, every drawable is responsible for setting the color it wants to use.)coordsChanged- Indicates whether the CoordinateRect has changed.
-
mousePressed
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:
mousePressedin interfaceMouseListener
-
mouseReleased
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:
mouseReleasedin interfaceMouseListener
-
mouseDragged
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:
mouseDraggedin interfaceMouseMotionListener
-
mouseClicked
Empty method, required by the MouseListener interface.- Specified by:
mouseClickedin interfaceMouseListener
-
mouseEntered
Empty method, required by the MouseMotionListener interface.- Specified by:
mouseEnteredin interfaceMouseListener
-
mouseExited
Empty method, required by the MouseMotionListener interface.- Specified by:
mouseExitedin interfaceMouseListener
-
mouseMoved
Empty method, required by the MouseMotionListener interface.- Specified by:
mouseMovedin interfaceMouseMotionListener
-