public class SteppedGridAppFrame extends GridAppFrame
SteppedGridAppFrame
class provides a window in which
to run and display a grid application controlled by the user via
a combination of Step, NSteps, Run, and Stop buttons. Other options
provided by the GridAppFrame
superclass include a
speed slider bar and a Start/Restart button.GridAppFrame.DisplayMouseListener, GridAppFrame.GUIExceptionHandler
javax.swing.JFrame.AccessibleJFrame
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
Modifier and Type | Field and Description |
---|---|
protected SteppedGridAppController |
appController |
protected boolean |
displayAfterEachStep |
protected int |
numStepsSoFar |
protected int |
numStepsToRun |
protected boolean |
runningNSteps |
protected javax.swing.Timer |
timer |
DEFAULT_MAX_DELAY_MSECS, DEFAULT_MIN_DELAY_MSECS
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, 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
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Constructor and Description |
---|
SteppedGridAppFrame(SteppedGridAppController control,
boolean displayAfterEachStep)
Constructs an empty SteppedGridAppFrame window object that will
display a grid controlled by a combination of Step, NSteps, Run, and
Stop buttons.
|
Modifier and Type | Method and Description |
---|---|
void |
enterNotRunningMode()
Enables and disables GUI components as necessary when an application
is not running.
|
protected java.lang.String |
getClarificationResponse(int suggested)
Provides a follow-up prompt for number of steps if initial response
failed validation, and gets result.
|
SteppedGridAppController |
getController()
Returns the controller used to drive the application.
|
protected java.lang.String |
getInitialResponse(int suggested)
Provides inital prompt for number of steps and gets result.
|
void |
includeRunButton()
Includes the Run button in the control panel.
|
void |
includeSetResetButton(java.lang.String label,
int enableDisableIndicator,
boolean displayAfterSetReset)
Includes a set/initialize/reset button with the specified label.
|
void |
includeSetResetButton(java.lang.String label,
int enableDisableIndicator,
boolean initiallyEnabled,
boolean displayAfterSetReset)
Includes a set/initialize/reset button with the specified label.
|
void |
includeStepNTimesButton()
Includes the Step N Times button in the control panel.
|
void |
includeStepOnceButton()
Includes the Step Once button in the control panel.
|
void |
includeStopButton(boolean displayAfterStopping)
Includes the Stop button in the control panel.
|
void |
initialize()
Sets up (initializes) or resets the application.
|
protected javax.swing.JPanel |
makeControlPanel(java.lang.String title)
Creates the control panel.
|
void |
nSteps()
Advances the application multiple (N) steps (where N is provided
by the user in a dialog box) in a separate thread.
|
void |
run()
Starts a timer to repeatedly step the application at
the speed currently indicated by the speed slider.
|
void |
setGrid(Grid grid)
Sets the Grid being displayed.
|
boolean |
shouldStop()
Determines whether a running application has reached
a desired stopping state.
|
void |
showDisplayAfterEachStep(boolean whetherToDisplay)
Specifies whether or not to display the contents of the grid
after each step.
|
void |
showGrid()
Shows the grid.
|
void |
step()
Advances the application one step.
|
void |
stepAndDisplay()
Advances the application one step and displays the grid if
appropriate.
|
void |
stop()
Stops any existing timer currently stepping the application.
|
addGridChangeListener, componentRequiresGrid, componentsEnabledOnlyIfGridSet, componentsEnabledOnlyWhenRunning, componentsEnabledOnlyWhenWaiting, constructDisplay, constructWindowContents, constructWindowContents, defineContent, enableAndDisable, enableOnlyIfGridSet, enableOnlyWhenRunning, enableOnlyWhenWaiting, enterRunningMode, getControlPanel, getDelay, getDisplay, getGrid, getMouseListenerForDisplay, getSpeedSlider, includeControlComponent, includeControlComponent, includeControlComponents, includeMenu, includeMenu, includeSpeedSlider, includeSpeedSlider, includeSpeedSlider, isInRunningMode, makeDisplayPanel, makeSliderPanel, notifyGridChangeListeners, onMouseClickOverDisplay, onMousePressOverDisplay, onMouseReleaseOverDisplay, resetDelay, setDelay, setEnabledStatus
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, 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, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
protected SteppedGridAppController appController
protected javax.swing.Timer timer
protected boolean displayAfterEachStep
protected boolean runningNSteps
protected int numStepsToRun
protected int numStepsSoFar
public SteppedGridAppFrame(SteppedGridAppController control, boolean displayAfterEachStep)
null
.)control
- the object that controls the running of
the grid application through step
and/or run methodsdisplayAfterEachStep
- true
if the user interface
should display the contents of the grid
after each individual step;
false
otherwisepublic void includeSetResetButton(java.lang.String label, int enableDisableIndicator, boolean displayAfterSetReset)
label
- the button label (examples: "Initialize", "Start",
"Restart", "Reset")enableDisableIndicator
- indicates when the set/reset button
should be enabled or disableddisplayAfterSetReset
- true if grid should be displayed after
set/reset is complete; false otherwisepublic void includeSetResetButton(java.lang.String label, int enableDisableIndicator, boolean initiallyEnabled, boolean displayAfterSetReset)
initiallyEnabled
parameter;
it later switches to enabled or disabled under the conditions
indicated by the enableDisableIndicator
parameter.
Note, though, that it will only switch if there is a state change
that would normally cause it to switch. It will never switch,
for example, if the enableDisableIndicator
parameter
is ALWAYS_ENABLED or ALWAYS_DISABLED, because there is no defined
state change that would cause such components to switch. Thus,
a component that is specified as ALWAYS_ENABLED but initially
disabled will remain disabled throughout the application.
This method will have no effect unless it is called before the constructWindowContents method.
label
- the button label (examples: "Initialize", "Start",
"Restart", "Reset")enableDisableIndicator
- indicates when the set/reset button
should be enabled or disabledinitiallyEnabled
- true if button should initially be enabled;
false if button should initially be disableddisplayAfterSetReset
- true if grid should be displayed after
set/reset is complete; false otherwisepublic void includeStepOnceButton()
public void includeStepNTimesButton()
public void includeRunButton()
public void includeStopButton(boolean displayAfterStopping)
displayAfterStopping
- true if grid should be displayed after
stop is complete; false otherwisepublic SteppedGridAppController getController()
public void showDisplayAfterEachStep(boolean whetherToDisplay)
whetherToDisplay
- true
if the application
should redisplay after each step;
false
otherwiseprotected javax.swing.JPanel makeControlPanel(java.lang.String title)
makeControlPanel
in class GridAppFrame
title
- description for this set of control componentspublic void setGrid(Grid grid)
setGrid
in interface GridDisplay
setGrid
in class GridAppFrame
grid
- the Grid to displaypublic void showGrid()
showGrid
in interface GridDisplay
showGrid
in class GridAppFrame
public void initialize()
public void stepAndDisplay()
public void step()
public boolean shouldStop()
true
if the application should
stoppublic void nSteps()
protected java.lang.String getInitialResponse(int suggested)
protected java.lang.String getClarificationResponse(int suggested)
public void run()
public void stop()
public void enterNotRunningMode()
enterNotRunningMode
in class GridAppFrame