TStrategyDropListItem
- The type of the items put on the update strategy drop listsTPaintDropListItem
- The type of the items put on the paint strategy drop lists.public class BallGUI<TStrategyDropListItem,TPaintDropListItem>
extends javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
Modifier and Type | Field and Description |
---|---|
private javax.swing.JButton |
_addBtn
Button to add the strategy from the textfield to both the drop lists.
|
private javax.swing.JButton |
_addPaintBtn
Button to add a paint strategy to the drop list
|
private javax.swing.JPanel |
_canvasPnl
Panel that the balls are drawn on
|
private javax.swing.JPanel |
_cbPnl
sub-panel to hold the drop lists and associated buttons.
|
private javax.swing.JButton |
_clearAllBtn
Button to clear all the balls from the system
|
private javax.swing.JButton |
_combineBtn
Button to create a new strategy that is the composition of the selected
strategies on the top and bottom drop lists.
|
private javax.swing.JPanel |
_controlPnl
Panel for holding the control components
|
private javax.swing.JPanel |
_inputPnl
Sub-panel to hold the input textfield and the "add to lists" button
|
private javax.swing.JTextField |
_inputTF
Textfield to input class name of new strategies to use
|
private javax.swing.JComboBox<TStrategyDropListItem> |
_list1DL
The top drop list, used to select what strategy to use in a new ball and
to switch the switcher to.
|
private javax.swing.JComboBox<TStrategyDropListItem> |
_list2DL
Bottom drop list, used for combining with the top list selection.
|
private javax.swing.JButton |
_makeSelectedBtn
Button to make a ball using the strategy selected from the top drop list
|
private javax.swing.JButton |
_makeSwitcherBtn
Button to make a switcher ball
|
private IModelControlAdapter<TStrategyDropListItem,TPaintDropListItem> |
_modelControlAdpt
Adapter back to the model for control tasks.
|
private IModelUpdateAdapter |
_modelUpdateAdpt
Adapter back to the model for updating tasks.
|
private javax.swing.JComboBox<TPaintDropListItem> |
_paintCBx
Drop list of paint strategy choices
|
private javax.swing.JPanel |
_paintPnl
Panel holding the paint strategy controls
|
private javax.swing.JTextField |
_paintTF
Textfield to input abbreviated paint strategy name
|
private javax.swing.JButton |
_switchBtn
Button to switch the decoree of the switcher strategy
|
private javax.swing.JPanel |
_switcherPnl
Sub-panel to hold switcher controls
|
private static long |
serialVersionUID
Unique identifier for serialization purposes
|
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 |
---|
BallGUI(IModelControlAdapter<TStrategyDropListItem,TPaintDropListItem> modelCtrlAdpt,
IModelUpdateAdapter modelUpdateAdpt)
The main system view
|
Modifier and Type | Method and Description |
---|---|
java.awt.Container |
getCanvas()
Accessor method for the panel upon which the balls are to be drawn
|
private void |
initGUI()
Initialize the GUI components
|
void |
start()
Start the GUI up.
|
void |
update()
Update the view.
|
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
private static final long serialVersionUID
private IModelControlAdapter<TStrategyDropListItem,TPaintDropListItem> _modelControlAdpt
private IModelUpdateAdapter _modelUpdateAdpt
private javax.swing.JPanel _controlPnl
private javax.swing.JPanel _canvasPnl
private javax.swing.JButton _clearAllBtn
private javax.swing.JTextField _inputTF
private javax.swing.JPanel _inputPnl
private javax.swing.JButton _makeSwitcherBtn
private javax.swing.JButton _switchBtn
private javax.swing.JTextField _paintTF
private javax.swing.JComboBox<TPaintDropListItem> _paintCBx
private javax.swing.JButton _addPaintBtn
private javax.swing.JPanel _paintPnl
private javax.swing.JPanel _switcherPnl
private javax.swing.JPanel _cbPnl
private javax.swing.JComboBox<TStrategyDropListItem> _list1DL
private javax.swing.JComboBox<TStrategyDropListItem> _list2DL
private javax.swing.JButton _combineBtn
private javax.swing.JButton _addBtn
private javax.swing.JButton _makeSelectedBtn
public BallGUI(IModelControlAdapter<TStrategyDropListItem,TPaintDropListItem> modelCtrlAdpt, IModelUpdateAdapter modelUpdateAdpt)
modelCtrlAdpt
- the adapter to send configuration info to the modelmodelUpdateAdpt
- the adapter to send updating requests to the modelprivate void initGUI()
public java.awt.Container getCanvas()
public void update()
public void start()