Class FourLevels

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Panel
                    |
                    +--java.applet.Applet
                          |
                          +--BaseApplet
                                |
                                +--BaseApplet2
                                      |
                                      +--EmissionApplet
                                            |
                                            +--FeedbackApplet
                                                  |
                                                  +--FourLevels

public class FourLevels
extends FeedbackApplet

As for the Feedback/Emission/Absorption Applet, but with an extra two energy levels. Internally, the energy levels are numbered from the top down, starting at zero.

See Also:
Serialized Form

Inner Class Summary
(package private)  class FourLevels.Electron
           
 
Inner classes inherited from class EmissionApplet
EmissionApplet.Electron, EmissionApplet.Photon
 
Inner classes inherited from class BaseApplet2
BaseApplet2.FixedButton, BaseApplet2.FixedCheckbox, BaseApplet2.GraphClickListener
 
Inner classes inherited from class BaseApplet
BaseApplet.MozillaWorkaround, BaseApplet.ResizeListener
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AWTTreeLock
 
Field Summary
protected  int[] energyLevelY
          An array of four y co-ordinates (measured in pixels), one for each energy level.
protected  java.awt.TextField lowerDecayField
           
protected  double lowerDecayRate
          The rate at which electrons move to the bottommost state from the state immediately above.
protected  java.awt.TextField upperDecayField
           
protected  double upperDecayRate
          The rate at which electrons move from the topmost state to the state immediately below.
 
Fields inherited from class FeedbackApplet
dtField, exitDensity, exited, exitMessage, feedbackField, feedbackRate, loopTime, obsCount, observations, obsTimer, plotter, sampleTime, t
 
Fields inherited from class EmissionApplet
absorb, absorbField, destroy, destroyPhotons, dt, electrons, electronSpeed, emit, emitField, exciteAll, excitedY, exciteNone, hGap, hMargin, inversionField, invert, margin, normalY, photons, pump, pumpField, simH, simW, sinTable, spont, spontField, thr, vMargin, waveDispLen
 
Fields inherited from class BaseApplet2
boxes, buttons, enablePrompt, fields, focus, panel, statusLabel, useSwing, V_MARGIN
 
Fields inherited from class BaseApplet
buffer, GRAPH_MARGIN, refresh, resizeListener, safetyLimit, useBuffer
 
Fields inherited from class java.applet.Applet
serialVersionUID, stub
 
Fields inherited from class java.awt.Panel
base, nameCounter, serialVersionUID
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dispatcher, layoutMgr, maxSize, ncomponents, serialVersionUID
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, assert, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, hasFocus, height, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, RIGHT_ALIGNMENT, serialVersionUID, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowListenerK, x, y
 
Constructor Summary
FourLevels()
           
 
Method Summary
protected  void addFields()
          Adds the text fields to the GUI
 void createElectrons()
          Override superclass method, so that this applet's modified electron will be used.
 void doPaint(java.awt.Graphics g)
          Called by forcePaint() to actually perform the painting.
 void init()
          Performs extra initialisation, including adding a panel to the bottom of the applet.
 void updateInput()
          Reads in (and validates) input from the text fields.
 
Methods inherited from class FeedbackApplet
cullPhotons, updatePhotons
 
Methods inherited from class EmissionApplet
actionPerformed, buildSineTable, calcInversion, destroyPhotons, findElectron, invert, killAnim, paintElectrons, paintPhotons, paintWave, run, setAllExcited, sin, spawnPhoton, start, startAnim, stop, updateElectrons
 
Methods inherited from class BaseApplet2
add, add, addButton, addCheckbox, addField, addField, addField, addListeners, focusGained, focusLost, getDouble, getGraphHeight, getInt, lockControls, makeButton, makePanel, paintDashedLineH, paintDashedLineV, register, removeListeners, setComponentsEnabled, setLayout, setPromptEnabled, textValueChanged, toString, unlockControls
 
Methods inherited from class BaseApplet
changeFont, forcePaint, getAppletInfo, getParameterInfo, itemStateChanged, paint, refresh, update
 
Methods inherited from class java.applet.Applet
destroy, 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, constructComponentName
 
Methods inherited from class java.awt.Container
add, add, add, add, addContainerListener, addImpl, applyOrientation, countComponents, deliverEvent, dispatchEventImpl, dispatchEventToSelf, doLayout, eventEnabled, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getCursorTarget, getInsets, getLayout, getMaximumSize, getMinimumSize, getMouseEventTarget, getPreferredSize, getWindow, initIDs, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPrint, list, list, locate, minimumSize, nextFocus, paintComponents, paramString, postProcessKeyEvent, postsOldMouseEvents, preferredSize, preProcessKeyEvent, print, printComponents, printOneComponent, processContainerEvent, processEvent, proxyEnableEvents, proxyRequestFocus, readObject, remove, remove, removeAll, removeContainerListener, removeNotify, setCursor, setFocusOwner, setFont, transferFocus, updateCursor, validate, validateTree, writeObject
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, areInputMethodsEnabled, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputContext, getInputMethodRequests, getIntrinsicCursor, getLocation, getLocation, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getSize, getToolkit, getToolkitImpl, getTreeLock, getWidth, getWindowForObject, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isEnabledImpl, isFocusTraversable, isLightweight, isOpaque, 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, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

energyLevelY

protected int[] energyLevelY
An array of four y co-ordinates (measured in pixels), one for each energy level.

upperDecayRate

protected double upperDecayRate
The rate at which electrons move from the topmost state to the state immediately below.

lowerDecayRate

protected double lowerDecayRate
The rate at which electrons move to the bottommost state from the state immediately above.

upperDecayField

protected java.awt.TextField upperDecayField

lowerDecayField

protected java.awt.TextField lowerDecayField
Constructor Detail

FourLevels

public FourLevels()
Method Detail

init

public void init()
Description copied from class: BaseApplet2
Performs extra initialisation, including adding a panel to the bottom of the applet.
Overrides:
init in class FeedbackApplet

addFields

protected void addFields()
Adds the text fields to the GUI
Overrides:
addFields in class FeedbackApplet

updateInput

public void updateInput()
Description copied from class: EmissionApplet
Reads in (and validates) input from the text fields.
Overrides:
updateInput in class FeedbackApplet
Tags copied from class: EmissionApplet
Throws:
java.lang.IllegalArgumentException - if any input fields are invalid

doPaint

public void doPaint(java.awt.Graphics g)
Description copied from class: BaseApplet
Called by forcePaint() to actually perform the painting. Subclasses should implement this method as if it were the standard paint() method; buffering will then take place transparently.
Overrides:
doPaint in class FeedbackApplet
Tags copied from class: BaseApplet
Parameters:
g - The Graphics object on which to paint

createElectrons

public void createElectrons()
Override superclass method, so that this applet's modified electron will be used.
Overrides:
createElectrons in class EmissionApplet