# All Classes and Interfaces

Class
Description
AnimatedGraph
Animator
An Animator can change a value continuously, without user intervention, by running a separate Thread.
Axes
A set of horizontal and vertical axes that look OK and have reasonable, labeled tick marks.
Cases
An object of type Cases stores a list of "case values" that is generated while an expression is being evaluated using the routine Expression.getValuesWithCases().
Computable
A Computable is an object that performs some sort of computation or action when its compute() method is called.
ComputeButton
A compute button is a button that can have an associated Controller.
ConditionalExpression
A "conditional expression" is an expression using the "?" operator, such as "(x > 0)? x : -x" or "x invalid input: '<'> 3 ? 1 / (x - 3)".
Constant
A Constant is a Value that represents a constant real number.
Controller
Controllers are the focus of all the action in the JCM system.
CoordinateRect
A CoordinateRect represents a rectagular region in the xy-plane, specified by values xmin,xmax,ymin,ymax.
Crosshair
A Crosshair is a small cross, 15 pixels wide and high, that is drawn in a CoordinateRect at a specified point.
DataTableInput
A DataTableInput lets the user input a grid of real numbers arranged in rows and columns.
Derivatives
DisplayCanvas
A DisplayCanvas is a drawing area that can contain one or more CoordinateRects.
DisplayLabel
A DisplayLabel is a label that can display numbers embedded in strings.
Draggable
An interface that can be implemented by an object that can be dragged with the mouse.
DraggablePoint
A DraggablePoint can be added to a DisplayCanvas, where it appears as a small disk, square, or cross.
Drawable
A Drawable object can be added to a CoordinateRect, which is itself in a DisplayCanvas.
DrawBorder
A DrawBorder object is just a simple border around the edges of its CoordinateRect, with a specified width, in pixels, and a specified color.
DrawGeometric
A DrawGeometric object is a geometic figure such as a line or rectangle that can be drawn in a CoordinateRect.
DrawString
A DrawString object displays a string, possibly multi-line, in a DisplayCanvas, inside the rectangular region of a CoordinateRect.
DrawTemp
An object that implements this interface can draw itself, using information from a CoordinateRect (in which it presumably appears).
EpsilonDelta
An applet for exploring the epsilon-delta definition of a limit.
ErrorReporter
To allow different styles of reporting errors, a Controller uses an ErrorReporter to report any errors that are thrown during its checkInput/compute cycle.
Evaluator
An Evaluator applet lets the user enter the values of one or more variables, and it displayes the values of one or more expressions that can involve those variables.
Expression
An Expression represents a mathematical expression such as "x+1" or "3" or "sin(x*ln(x)-3*abs(x/4))".
ExpressionCommand
An ExpressionCommand can occur as a command in an ExpressionProgram.
ExpressionFunction
An ExpressionFunction is a Function that is created from an expression and a list of variables that serve as the parameter(s) of the function.
ExpressionInput
An ExpressionInput is an input box that allows the user input a mathematical expression.
ExpressionProgram
An ExprssionProgram represents a mathematical expression such as "3" or "sin(x^2)", stored in the form of a program for a stack machine.
FamiliesOfGraphs
Function
A Function is a mathematical real-valued function of zero or more real-valued arguments.
FunctionComposition
FunctionParserExtension
An object belonging to a concrete subclass of FunctionParserExtesion is a mathematical function that can be registered with a Parser and then used in strings that are parsed by that parser.
GenericGraphApplet
GenericGraphApplet serves as a base class for applets that have a DisplayCanvas in the CENTER of a BorderLayout and that are configurable by a large number of applet parameters.
Graph1D
A Graph1D represents the graph of a function of one variable, to be displayed in a given CoordinateRect.
Grid
A Grid object draws a graph paper-like grid on a Canvas.
InputObject
An InputObject represents some sort of value that can be changed by, for example, user interaction with a GUI element.
IntegralCurves
JCMError
JCMErrors can be generated by objects belonging to various classes in edu.hws.jcm.awt and edu.hws.jcm.draw.
JCMPanel
A JCMPanel is a Panel with an associated Controller.
LimitControlPanel
A LimitControlPanel has four input boxes for specifying the xmin, xmax, ymin, and ymax of a CoodinateRect.
Limits
The Limits interface is implemented by edu.hws.jcm.data.CoordinateRect and by other objects that can be "Tied" to a CoordinateRect, such as LimitControlPanel.
MathObject
A MathObject is just an object that has setName and getName methods.
MessagePopup
The class MessagePopup represents a Window that pops up to display an error message.
MouseTracker
A MouseTracker can be added to a CoordinateRect in a DisplayCanvas to respond to user mouse actions in the rectangular area occupied by the CoordinateRect.
MultiGraph
NumUtils
This class provides a few static functions for converting real numbers to strings and strings to real numbers.
Panner
When a Panner object is added to a CoordinateRect, it becomes possible to "grab" the coordinate rectangle and pan it (that is, slide it around by moving it with the mouse).
Parametric
ParametricCurve
A ParametricCurve is defined by two functions, x(t) and y(t) of a variable, t, for t in a specified interval.
ParseError
Represents a syntax error that is found while a string is being parsed.
Parser
A Parser can take a string and compile it into an ExpressionProgram.
ParserContext
A ParserContext holds all the state data for a parsing operation, including the string that is being parsed, a pointer to the current position in that string, and the most recently parsed token from the string.
ParserExtension
A ParserExtension can be defined to add new capabilities to a standard Parser.
RiemannSumRects
A RiemannSumRects calculates a Riemann sum for a function.
RiemannSums
ScatterPlot
A ScatterPlot graphs data taken from a DataTableInput.
ScatterPlotApplet
A ScatterPlotApplet shows a scatter plot of data from a DataTableInput.
SecantTangent
SimpleFunction
An object belonging to this class is a function of one or more variables.
SimpleGraph
StackOfDouble
A standard stack of values of type double, which can grow to arbitrary size.
StandardFunction
This class exists to associate standard functions, such as sin and abs, with their names.
SummationParser
The SummationParser class makes it possible to use summations such as sum(i,1,5,x^i) in a Parser.
SymbolTable
A symbol table contains MathObjects, associating them with their names.
TableFunction
A TableFunction is a function that is specified by a table of (x,y)-points.
TableFunctionGraph
A TableFunctionGraph is a Drawable object that can be added to a CoordinateRect (or DisplayCanvas).
TableFunctionInput
A TableInputFunction is a Panel that can be used to define a TableFunction or to edit an existing TableFunction.
TangentLine
A Tangent line is a line that is tangent to the graph of a specified function of one argument at a specified value of its argument.
Tie
A Tie associates several Tieable objects.
Tieable
A Tieable object has an associated serial number.
Value
An object of type Value has a real-number value that can be retrieved by calling the getVal() method.
ValueMath
A ValueMath object is an easy way to create Value objects that are computed from other Value objects.
Variable
A Variable is a Value object whose value can be changed.
VariableInput
A VariableInput is an input box into which the user can type a real number value, which becomes the value of an associated Variable.
VariableSlider
A VariableSlider is a slider (implemented as a Scrollbar) whose position represents the value of an associated variable.
VectorField
A VectorField displays lines or arrows on a grid of points where the direction and/or lengths are given by two functions (f1(x,y),f2(x,y)).
WrapperFunction
A WrapperFunction contains another function and delegates to it all calls to methods from the Function interface, except for calls to setName() and getName().