Generic Environment GUI Class Library

Class EnvFrameWithSlider

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--javax.swing.JFrame
                                |
                                +--EnvAppFrame
                                      |
                                      +--EnvFrameWithSlider
All Implemented Interfaces:
javax.accessibility.Accessible, EnvDisplay, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, SettableEnvDisplay, javax.swing.WindowConstants
Direct Known Subclasses:
ActiveEnvFrame

public class EnvFrameWithSlider
extends EnvAppFrame

Environment-Based Applications:
The EnvFrameWithSlider class provides a window in which to display an environment, holding the display steady for a length of time determined by a slider.

Version:
1 December 2002
See Also:
Serialized Form

Inner classes inherited from class EnvAppFrame
EnvAppFrame.GUIExceptionHandler
 
Inner classes inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Inner classes inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Inner classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent
 
Field Summary
static int INITIAL_DELAY
           
static int MAX_DELAY_MSECS
           
static int MIN_DELAY_MSECS
           
protected  javax.swing.JSlider speedSlider
           
 
Fields inherited from class EnvAppFrame
content, display, env, envController, menuBar, menuItemsThatNeedAnEnvironment, menuMask
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
protected EnvFrameWithSlider()
          Creates an uninitialized EnvFrameWithSlider.
  EnvFrameWithSlider(java.lang.String title, java.awt.Color bgColor, int viewingWidth, int viewingHeight, int minCellSize)
          Creates a new environment frame with a speed adjustment slider but no menu bar.
  EnvFrameWithSlider(java.lang.String title, java.awt.Color bgColor, int viewingWidth, int viewingHeight, int minCellSize, int maxDelayMsecs, int minDelayMsecs)
          Creates a new environment frame with a speed adjustment slider but no menu bar.
  EnvFrameWithSlider(java.lang.String title, java.awt.Color bgColor, int viewingWidth, int viewingHeight, int minCellSize, int maxDelayMsecs, int minDelayMsecs, int initialDelayMsecs)
          Creates a new environment frame with a speed adjustment slider but no menu bar.
 
Method Summary
 int getDelay()
          Gets the current delay value from the speed slider.
protected  void init(java.lang.String title, java.awt.Color bgColor, int viewingWidth, int viewingHeight, int minCellSize, int maxDelayMsecs, int minDelayMsecs)
          Initializes the contents of an EnvFrameWithSlider.
protected  void init(java.lang.String title, java.awt.Color bgColor, int viewingWidth, int viewingHeight, int minCellSize, int maxDelayMsecs, int minDelayMsecs, int initialDelayMsecs)
          Initializes the contents of an EnvFrameWithSlider.
protected  java.awt.Component makeDisplayPanel(java.awt.Color bgColor, int viewingWidth, int viewingHeight, int minCellSize)
          Creates the panel for displaying and controlling an environment application, along with a speed adjustment slider.
protected  javax.swing.JPanel makeSliderPanel()
          Creates a speed slider for controling the speed of the animation.
 void showEnv()
          Shows the environment.
 
Methods inherited from class EnvAppFrame
defineContent, enableItemsThatNeedEnvironment, getDisplay, init, makeDisplay, makeEnvDisplay, makeFileMenu, makeMenuBar, makeMenus, setEnv
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isRootPaneCheckingEnabled, paramString, processKeyEvent, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getFrames, getIconImage, getMenuBar, getState, getTitle, isResizable, remove, removeNotify, setCursor, setIconImage, setMenuBar, setResizable, setState, setTitle
 
Methods inherited from class java.awt.Window
addWindowListener, applyResourceBundle, applyResourceBundle, dispose, getFocusOwner, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, hide, isShowing, pack, postEvent, processEvent, removeWindowListener, setCursor, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFont, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputMethodRequests, getLocation, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isFocusTraversable, isLightweight, isOpaque, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseMotionEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

MIN_DELAY_MSECS

public static final int MIN_DELAY_MSECS

MAX_DELAY_MSECS

public static final int MAX_DELAY_MSECS

INITIAL_DELAY

public static final int INITIAL_DELAY

speedSlider

protected javax.swing.JSlider speedSlider
Constructor Detail

EnvFrameWithSlider

protected EnvFrameWithSlider()
Creates an uninitialized EnvFrameWithSlider. Provided for subclass constructors, which should always use this constructor followed by a call to one of the init methods.

EnvFrameWithSlider

public EnvFrameWithSlider(java.lang.String title,
                          java.awt.Color bgColor,
                          int viewingWidth,
                          int viewingHeight,
                          int minCellSize)
Creates a new environment frame with a speed adjustment slider but no menu bar. The slider will be initialized to range from MAX_DELAY_MSECS to MIN_DELAY_MSECS (maximum delay is slowest; minimum dalay is fastest). Subclasses should not invoke this constructor; they should call the init method directly from their own constructors. (The init method uses the Template Method design pattern, which does not work correctly in superclass constructors.)
Parameters:
title - frame title
backgroundColor - color to paint background of environment
viewingWidth - the width of the viewing area
viewingHeight - the height of the viewing area
minCellSize - minimum environment cell side length

EnvFrameWithSlider

public EnvFrameWithSlider(java.lang.String title,
                          java.awt.Color bgColor,
                          int viewingWidth,
                          int viewingHeight,
                          int minCellSize,
                          int maxDelayMsecs,
                          int minDelayMsecs)
Creates a new environment frame with a speed adjustment slider but no menu bar. The slider will be initialized to range from maxDelayMsecs to minDelayMsecsY_MSECS (maximum delay is slowest; minimum dalay is fastest). Subclasses should not invoke this constructor; they should call the init method directly from their own constructors. (The init method uses the Template Method design pattern, which does not work correctly in superclass constructors.)
Parameters:
title - frame title
backgroundColor - color to paint background of environment
viewingWidth - the width of the viewing area
viewingHeight - the height of the viewing area
minCellSize - minimum environment cell side length
maxDelayMsecs - maximum delay value for slider, in milliseconds
minDelayMsecs - minimum delay value for slider, in milliseconds

EnvFrameWithSlider

public EnvFrameWithSlider(java.lang.String title,
                          java.awt.Color bgColor,
                          int viewingWidth,
                          int viewingHeight,
                          int minCellSize,
                          int maxDelayMsecs,
                          int minDelayMsecs,
                          int initialDelayMsecs)
Creates a new environment frame with a speed adjustment slider but no menu bar. The slider will be initialized to range from maxDelayMsecs to minDelayMsecsY_MSECS (maximum delay is slowest; minimum dalay is fastest). Subclasses should not invoke this constructor; they should call the init method directly from their own constructors. (The init method uses the Template Method design pattern, which does not work correctly in superclass constructors.) (Precondition: minDelayMsecs < initialDelayMsecs < maxDelayMsecs)
Parameters:
title - frame title
backgroundColor - color to paint background of environment
viewingWidth - the width of the viewing area
viewingHeight - the height of the viewing area
minCellSize - minimum environment cell side length
maxDelayMsecs - maximum delay value for slider, in milliseconds
minDelayMsecs - minimum delay value for slider, in milliseconds
initialDelayMsecs - initial value for slider, in milliseconds
Method Detail

init

protected void init(java.lang.String title,
                    java.awt.Color bgColor,
                    int viewingWidth,
                    int viewingHeight,
                    int minCellSize,
                    int maxDelayMsecs,
                    int minDelayMsecs)
Initializes the contents of an EnvFrameWithSlider.
Parameters:
title - frame title
backgroundColor - color to paint background of environment
viewingWidth - the width of the viewing area
viewingHeight - the height of the viewing area
minCellSize - minimum environment cell side length
maxDelayMsecs - maximum delay value for slider, in milliseconds
minDelayMsecs - minimum delay value for slider, in milliseconds

init

protected void init(java.lang.String title,
                    java.awt.Color bgColor,
                    int viewingWidth,
                    int viewingHeight,
                    int minCellSize,
                    int maxDelayMsecs,
                    int minDelayMsecs,
                    int initialDelayMsecs)
Initializes the contents of an EnvFrameWithSlider.
Parameters:
title - frame title
backgroundColor - color to paint background of environment
viewingWidth - the width of the viewing area
viewingHeight - the height of the viewing area
minCellSize - minimum environment cell side length
maxDelayMsecs - maximum delay value for slider, in milliseconds
minDelayMsecs - minimum delay value for slider, in milliseconds
initialDelayMsecs - initial delay for slider, in milliseconds (Precondition: minDelayMsecs < initialDelayMsecs < maxDelayMsecs)

makeDisplayPanel

protected java.awt.Component makeDisplayPanel(java.awt.Color bgColor,
                                              int viewingWidth,
                                              int viewingHeight,
                                              int minCellSize)
Creates the panel for displaying and controlling an environment application, along with a speed adjustment slider. Should be redefined in subclasses that require additional application control widgets (buttons, etc) in the environment display panel.
Overrides:
makeDisplayPanel in class EnvAppFrame
Parameters:
backgroundColor - color to paint background of environment
viewingWidth - the width of the viewing area
viewingHeight - the height of the viewing area
minCellSize - minimum environment cell side length
Returns:
a scrollable pane with an environment display

makeSliderPanel

protected javax.swing.JPanel makeSliderPanel()
Creates a speed slider for controling the speed of the animation.
Returns:
a panel containing the speed slider

getDelay

public int getDelay()
Gets the current delay value from the speed slider.
Returns:
the length of time the application should pause after the environment to allow users time to see it (in milliseconds)

showEnv

public void showEnv()
Shows the environment. (Precondition: must have called setEnv.)
Overrides:
showEnv in class EnvAppFrame

Generic Environment GUI Class Library

Copyright© 2003 Alyce Brady