Generic Environment GUI Class Library

Class EnvAppFrame

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--javax.swing.JFrame
                                |
                                +--EnvAppFrame
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:
EnvEditor, EnvFrameWithSlider

public class EnvAppFrame
extends javax.swing.JFrame
implements SettableEnvDisplay

Environment-Based Applications:
The EnvAppFrame class provides a window in which to display an environment.

Version:
1 December 2002
See Also:
Serialized Form

Inner Class Summary
static class EnvAppFrame.GUIExceptionHandler
          Nested class that is registered as the handler for exceptions on the Swing event thread.
 
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
protected  javax.swing.JPanel content
           
protected  ScrollableEnvDisplay display
           
protected  Environment env
           
protected  EnvController envController
           
protected  javax.swing.JMenuBar menuBar
           
protected  java.util.ArrayList menuItemsThatNeedAnEnvironment
           
protected  int 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 EnvAppFrame()
          Creates an uninitialized EnvAppFrame.
  EnvAppFrame(java.lang.String title, java.awt.Color bgColor, int viewingWidth, int viewingHeight, int minCellSize)
          Creates a new EnvAppFrame with no menu bar.
 
Method Summary
protected  void defineContent(java.awt.Color bgColor, int viewingWidth, int viewingHeight, int minCellSize)
          Defines contents of main window panel.
 void enableItemsThatNeedEnvironment()
          Sets the enabled status of those GUI items that need an environment to be valid.
protected  ScrollableEnvDisplay getDisplay()
          Gets the environment display.
protected  void init(java.lang.String title, java.awt.Color bgColor, int viewingWidth, int viewingHeight, int minCellSize)
          Initializes the contents of an EnvAppFrame, possibly with a File menu.
protected  ScrollableEnvDisplay makeDisplay(int width, int height, int minCellSize, java.awt.Color bgColor)
          Creates the environment display.
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.
protected  java.awt.Component makeEnvDisplay(java.awt.Color bgColor, int viewingWidth, int viewingHeight, int minCellSize)
          Creates a scrollable display for displaying an environment application.
protected  javax.swing.JMenu makeFileMenu()
          Creates the File drop-down menu on the frame.
protected  void makeMenuBar()
          Creates the menu bar for drop-down menus on the frame.
protected  void makeMenus()
          Creates the drop-down menus on the frame.
 void setEnv(Environment environment)
          Sets the Environment being displayed.
 void showEnv()
          Shows the environment.
 
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

env

protected Environment env

menuBar

protected javax.swing.JMenuBar menuBar

menuMask

protected int menuMask

menuItemsThatNeedAnEnvironment

protected java.util.ArrayList menuItemsThatNeedAnEnvironment

content

protected javax.swing.JPanel content

envController

protected EnvController envController

display

protected ScrollableEnvDisplay display
Constructor Detail

EnvAppFrame

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

EnvAppFrame

public EnvAppFrame(java.lang.String title,
                   java.awt.Color bgColor,
                   int viewingWidth,
                   int viewingHeight,
                   int minCellSize)
Creates a new EnvAppFrame with no menu bar. 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
Method Detail

init

protected void init(java.lang.String title,
                    java.awt.Color bgColor,
                    int viewingWidth,
                    int viewingHeight,
                    int minCellSize)
Initializes the contents of an EnvAppFrame, possibly with a File menu.
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

makeMenus

protected void makeMenus()
Creates the drop-down menus on the frame. Should be redefined in subclasses that actually require menus.

makeMenuBar

protected void makeMenuBar()
Creates the menu bar for drop-down menus on the frame.

makeFileMenu

protected javax.swing.JMenu makeFileMenu()
Creates the File drop-down menu on the frame. (Precondition: envController is not null.)
Returns:
the file menu

enableItemsThatNeedEnvironment

public void enableItemsThatNeedEnvironment()
Sets the enabled status of those GUI items that need an environment to be valid.

defineContent

protected void defineContent(java.awt.Color bgColor,
                             int viewingWidth,
                             int viewingHeight,
                             int minCellSize)
Defines contents of main window panel. Should be redefined in subclasses that require panels other than (or in addition to) a a basic environment display panel.
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

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. Should be redefined in subclasses that require application control widgets (buttons, slider, etc) in the environment display panel.
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

makeEnvDisplay

protected java.awt.Component makeEnvDisplay(java.awt.Color bgColor,
                                            int viewingWidth,
                                            int viewingHeight,
                                            int minCellSize)
Creates a scrollable display for displaying an environment application.
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

makeDisplay

protected ScrollableEnvDisplay makeDisplay(int width,
                                           int height,
                                           int minCellSize,
                                           java.awt.Color bgColor)
Creates the environment display.
Parameters:
width - the width of the viewing area
height - the height of the viewing area
minCellSize - minimum environment cell side length
backgroundColor - color to paint background of environment
Returns:
a scrollable environment display

getDisplay

protected ScrollableEnvDisplay getDisplay()
Gets the environment display.
Returns:
a scrollable environment display

setEnv

public void setEnv(Environment environment)
Sets the Environment being displayed. (Precondition: env is not null.)
Specified by:
setEnv in interface SettableEnvDisplay
Parameters:
environment - the Environment to display

showEnv

public void showEnv()
Shows the environment. (Precondition: must have called setEnv.)
Specified by:
showEnv in interface SettableEnvDisplay

Generic Environment GUI Class Library

Copyright© 2003 Alyce Brady