thermometer
Class Thermometer

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Panel
              extended by java.applet.Applet
                  extended by edu.davidson.tools.SApplet
                      extended by thermometer.Thermometer
All Implemented Interfaces:
edu.davidson.tools.SDataListener, edu.davidson.tools.SDataSource, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class Thermometer
extends edu.davidson.tools.SApplet
implements edu.davidson.tools.SDataListener, edu.davidson.tools.SDataSource

This applet displays a thermometer. The user may specify the temperature or may use DataConnections to supply the temperature. Thermometer can act as a DataListener (provides dynamic temperature updates) or a DataSource (provides dynamic temperature output if the user manually drags the liquid level). The only information accepted or supplied is the temperature.

Applet Parameters

Name Variable Type Default Description
AutoScaleMax boolean false If true, the maximum scale reading is automatically increased if the temperature exceeds the maximum scale value.
AutoScaleMin boolean false If true, the minimum scale reading is automatically decreased if the temperature drops below the minimum scale value.
BGColor String null String representing an integer describing the RGB color for the applet background
IsReady String   JavaScript variable that will be set to true when applet has initialized. Must use MAYSCRIPT in APPLET tag to use this feature.
MaxTemperature double 100.0 Maximum temperature
MinTemperature double 0.0 Minimum temperature
Vertical boolean true If true the thermometer is oriented vertically; if false the thermometer is oriented horizontally.

Version:
2.0
Author:
David N. Blauch
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.applet.Applet
java.applet.Applet.AccessibleApplet
 
Nested classes/interfaces inherited from class java.awt.Panel
java.awt.Panel.AccessibleAWTPanel
 
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
 
Fields inherited from class edu.davidson.tools.SApplet
autoRefresh, clock, dataConnections, dataListeners, dataSources, lock, oneShotMsg
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
Thermometer()
           
 
Method Summary
 void addData(edu.davidson.tools.SDataSource ds, int id, double[] xVal, double[] yVal)
          Adds an array of data points via DataConnections.
 void addDatum(edu.davidson.tools.SDataSource ds, int id, double xVal, double yVal)
          Adds a data point via DataConnections.
 void autoScaleMax(boolean val)
          Sets autoscale feature for the maximum temperature.
 void autoScaleMin(boolean val)
          Sets autoscale feature for the minimum temperature.
 void clearSeries(int id)
          This method is required by SDataListener but is not used in this class.
 void deleteSeries(int id)
          This method is required by SDataListener but is not used in this class.
 void destroy()
           
 java.lang.String getAppletInfo()
           
 edu.davidson.tools.SApplet getOwner()
          Gets the owner of this DataListener and DataSource
 java.lang.String getParameter(java.lang.String key, java.lang.String def)
           
 java.lang.String[][] getParameterInfo()
           
 double getTemperature()
          Gets the current temperature.
 double[][] getVariables()
          SDataSource method.
 java.lang.String[] getVarStrings()
          SDataSource method.
 void init()
           
 boolean mouseDown(java.awt.Event evt, int xpos, int ypos)
           
 boolean mouseDrag(java.awt.Event evt, int xpos, int ypos)
           
 boolean mouseUp(java.awt.Event evt, int xpos, int ypos)
           
 void paint(java.awt.Graphics g)
           
 void setBackgroundColor(java.lang.String rgb)
          Sets the background color for the applet.
 void setDragable(boolean val)
          Determines whether the user can drag the liquid level in the thermometer.
 void setLabel(int val)
          Sets the label for the thermometer
0 = no label 1 = K
2 = Kelvin
3 = oC
4 = Celcius
5 = oF
6 = Fahrenheit
 void setLiquidColor(java.lang.String rgb)
          Sets the color of the liquid in the thermometer (default is red).
 void setMaxTemperature(double val)
          Sets the maximum temperature on the thermometer.
 void setMinMaxTemperature(double valMin, double valMax)
          Sets the minimum and maximum temperatures on the thermometer.
 void setMinTemperature(double val)
          Sets the minimum temperature on the thermometer.
 void setOwner(edu.davidson.tools.SApplet owner)
          Sets the owner for SDataListener and SDataSource
 void setTemperature(double val)
          Sets the temperature and updates the thermometer graphics.
 void start()
           
 void stop()
           
 
Methods inherited from class edu.davidson.tools.SApplet
addDataListener, addDataSource, cleanupDataConnections, clearAllData, clearData, cyclingClock, deleteDataConnection, deleteDataConnections, forward, getClockID, getClockTime, getDataConnectionFromDL, getDataConnectionFromDS, getDataFromDS, getDataListener, getDataListener, getDataSource, getDataSource, getID, getRunningID, getSourceData, getSourceVariables, isAutoRefresh, isClockRunning, makeDataConnection, pause, pausingClock, removeDataListener, removeDataSource, reset, reverse, setAutoRefresh, setClockContinous, setClockCycle, setClockOneShot, setClockTime, setConnectionBlock, setConnectionListener, setConnectionSmoothing, setConnectionSource, setConnectionStride, setDefault, setDt, setExternalClock, setFPS, setRunningID, setRunningID, setTimeContinuous, setTimeCycle, setTimeOneShot, startClock, stepClock, stepTime, stepTimeBack, stepTimeForward, stopClock, stoppingClock, updateDataConnection, updateDataConnections
 
Methods inherited from class java.applet.Applet
getAccessibleContext, getAppletContext, getAudioClip, getAudioClip, getCodeBase, getDocumentBase, getImage, getImage, getLocale, getParameter, isActive, newAudioClip, play, play, resize, resize, setStub, showStatus
 
Methods inherited from class java.awt.Panel
addNotify
 
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, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusBackward, 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, 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, mouseEnter, mouseExit, mouseMove, 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, 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, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface edu.davidson.tools.SDataListener
getID
 
Methods inherited from interface edu.davidson.tools.SDataSource
getID
 

Constructor Detail

Thermometer

public Thermometer()
Method Detail

addData

public void addData(edu.davidson.tools.SDataSource ds,
                    int id,
                    double[] xVal,
                    double[] yVal)
Adds an array of data points via DataConnections. The data source, id, and xVal[] value are not used. The temperature is set to the value of yVal[0]. Other elements in yVal[] are not used.

Specified by:
addData in interface edu.davidson.tools.SDataListener
Parameters:
ds - the data source supplying the information (not used).
id - the data identification (not used).
xVal - the array of x values for the data point (not used).
yVal - the array of y values for the data point, corresponds to the temperature.

addDatum

public void addDatum(edu.davidson.tools.SDataSource ds,
                     int id,
                     double xVal,
                     double yVal)
Adds a data point via DataConnections. The data source, id, and xVal value are not used. The temperature is set to the value of yVal.

Specified by:
addDatum in interface edu.davidson.tools.SDataListener
Parameters:
ds - the data source supplying the information (not used).
id - the data identification (not used).
xVal - the x value for the data point (not used).
yVal - the y value for the data point, corresponds to the temperature.

autoScaleMax

public void autoScaleMax(boolean val)
Sets autoscale feature for the maximum temperature. If the maximum temperature is exceeded, the scale will be expanded on the upper end.

Parameters:
val - true enables autoscaling of the maximum temperature
See Also:
autoScaleMin

autoScaleMin

public void autoScaleMin(boolean val)
Sets autoscale feature for the minimum temperature. If temperature drops below the minimum temperature, the scale will be expanded on the lower end.

Parameters:
val - true enables autoscaling of the minimum temperature
See Also:
autoScaleMax

clearSeries

public void clearSeries(int id)
This method is required by SDataListener but is not used in this class.

Specified by:
clearSeries in interface edu.davidson.tools.SDataListener

deleteSeries

public void deleteSeries(int id)
This method is required by SDataListener but is not used in this class.

Specified by:
deleteSeries in interface edu.davidson.tools.SDataListener

destroy

public void destroy()
Overrides:
destroy in class edu.davidson.tools.SApplet

getAppletInfo

public java.lang.String getAppletInfo()
Overrides:
getAppletInfo in class java.applet.Applet

getOwner

public edu.davidson.tools.SApplet getOwner()
Gets the owner of this DataListener and DataSource

Specified by:
getOwner in interface edu.davidson.tools.SDataListener
Specified by:
getOwner in interface edu.davidson.tools.SDataSource
Returns:
the owner

getParameterInfo

public java.lang.String[][] getParameterInfo()
Overrides:
getParameterInfo in class java.applet.Applet

getParameter

public java.lang.String getParameter(java.lang.String key,
                                     java.lang.String def)

getTemperature

public double getTemperature()
Gets the current temperature.

Returns:
the current temperature

getVariables

public double[][] getVariables()
SDataSource method. The only variable supplied is the temperature.

Specified by:
getVariables in interface edu.davidson.tools.SDataSource

getVarStrings

public java.lang.String[] getVarStrings()
SDataSource method. The only variable supplied is the temperature.

Specified by:
getVarStrings in interface edu.davidson.tools.SDataSource

init

public void init()
Overrides:
init in class java.applet.Applet

paint

public void paint(java.awt.Graphics g)
Overrides:
paint in class java.awt.Container

setBackgroundColor

public void setBackgroundColor(java.lang.String rgb)
Sets the background color for the applet. Change does not take effect until the thermometer is repainted or updated.

Parameters:
rgb - this string is decoded to yield a 24-bit RGB number for the color

setDragable

public void setDragable(boolean val)
Determines whether the user can drag the liquid level in the thermometer. Default is false.


setLabel

public void setLabel(int val)
Sets the label for the thermometer
0 = no label 1 = K
2 = Kelvin
3 = oC
4 = Celcius
5 = oF
6 = Fahrenheit

Parameters:
val - label style

setLiquidColor

public void setLiquidColor(java.lang.String rgb)
Sets the color of the liquid in the thermometer (default is red). Change does not take effect until the thermometer is repainted or updated.

Parameters:
rgb - this string is decoded to yield a 24-bit RGB number for the color

setMaxTemperature

public void setMaxTemperature(double val)
Sets the maximum temperature on the thermometer. The scale is chosen to use round numbers; thus, the actual maximum temperature may not be one one specified. Change does not take effect until the thermometer is repainted or updated.

Parameters:
val - this value is the new high temperature on the thermometer.

setMinTemperature

public void setMinTemperature(double val)
Sets the minimum temperature on the thermometer. The scale is chosen to use round numbers; thus, the actual minimum temperature may not be one one specified. Change does not take effect until the thermometer is repainted or updated.

Parameters:
val - this value is the new low temperature on the thermometer.

setMinMaxTemperature

public void setMinMaxTemperature(double valMin,
                                 double valMax)
Sets the minimum and maximum temperatures on the thermometer. The scale is chosen to use round numbers; thus, the actual minimum temperature may not be one one specified. Change does not take effect until the thermometer is repainted or updated.

Parameters:
valMin - new low temperature on the thermometer
valMax - new high temperature on the thermometer

setOwner

public void setOwner(edu.davidson.tools.SApplet owner)
Sets the owner for SDataListener and SDataSource

Specified by:
setOwner in interface edu.davidson.tools.SDataListener
Specified by:
setOwner in interface edu.davidson.tools.SDataSource
Parameters:
owner - the owner of this DataListener

setTemperature

public void setTemperature(double val)
Sets the temperature and updates the thermometer graphics.

Parameters:
val - new temperature

start

public void start()
Overrides:
start in class java.applet.Applet

stop

public void stop()
Overrides:
stop in class java.applet.Applet

mouseDown

public boolean mouseDown(java.awt.Event evt,
                         int xpos,
                         int ypos)
Overrides:
mouseDown in class java.awt.Component

mouseUp

public boolean mouseUp(java.awt.Event evt,
                       int xpos,
                       int ypos)
Overrides:
mouseUp in class java.awt.Component

mouseDrag

public boolean mouseDrag(java.awt.Event evt,
                         int xpos,
                         int ypos)
Overrides:
mouseDrag in class java.awt.Component