vooga.arcade
Class ArcadeFrame

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by vooga.arcade.ArcadeFrame
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, IArcadeFrame
Direct Known Subclasses:
MultiplayerLobbyFrame

public class ArcadeFrame
extends javax.swing.JFrame
implements IArcadeFrame

A general frame which has a menu, toolbar, and 4 tabbed panels.

Author:
Ron Murhammer, Vijay Ram, Lindsay Kubasik
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  TabbedPanel myBottomPane
           
protected  TabbedPanel myCenterPane
           
protected  TabbedPanel myLeftPane
           
protected  javax.swing.JMenuBar myMenuBar
           
protected  TabbedPanel myRightPane
           
protected  java.awt.Dimension mySize
           
protected  ToolBar myToolBar
           
 
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, 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
 
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
ArcadeFrame(java.lang.String frameTitle)
          Creates a new arcade frame with the given string Title the frame contains a genetic menuBar and toolBar directly below it.
 
Method Summary
 int addFlowLayoutTab(java.util.List<javax.swing.JComponent> components, java.lang.String tabTitle, Location location)
          This method is called to add a new tab to the GUI with a flow layout.
 int addFlowLayoutTab(java.util.List<javax.swing.JComponent> components, java.lang.String tabTitle, Location location, boolean isCloseable)
          This method is called to add a new tab to the GUI with a flow layout.
 void addMenu(javax.swing.JMenu menu)
          This method is called to add a menu to the GUI.
 void addTab(javax.swing.JComponent component, java.lang.String title, Location location)
          This method is called to add a new tab to the GUI.
 void addTab(javax.swing.JComponent component, java.lang.String title, Location location, boolean isClosable)
          This method is called to add a new tab to the GUI.
 void addToolBarItem(javax.swing.JButton button)
          This method is called to add a button to the existing toolbar.
 javax.swing.JButton addToolBarItem(java.lang.String imagePath, java.lang.String toolTip, java.awt.event.ActionListener action)
          Adds a new tool bar item with the given picture, tool tip, and action listener.
 java.awt.Dimension getDimension(Location location)
          This method is used to return the dimension of a given component.
 java.util.List<javax.swing.JComponent> getFlowLayoutComponents(int tabID)
          This method returns the list of JComponents in the given flow layout tab identified by its ID.
 void removeMenu(javax.swing.JMenu menu)
          This method is called to remove a menu from the GUI.
 void removeTab(java.lang.String title, Location location)
          This method is called to remove a tab from the GUI.
 void removeToolBarItem(javax.swing.JButton button)
          This method is called to remove a button from the existing toolbar.
 void toggleOuterPanelsVisibility()
          Show/hide the outer panels.
 void updateFlowLayoutTab(int tabID, javax.swing.JComponent component)
          Used to update a given flow layout tab identified by the tabID.
 void updateFlowLayoutTab(int tabID, javax.swing.JComponent component, boolean remove)
          Used to update a given flow layout tab identified by the tabID.
 
Methods inherited from class javax.swing.JFrame
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
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
 
Methods inherited from class java.awt.Container
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, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
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, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, 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, isOpaque, 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, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

mySize

protected java.awt.Dimension mySize

myMenuBar

protected javax.swing.JMenuBar myMenuBar

myToolBar

protected ToolBar myToolBar

myLeftPane

protected TabbedPanel myLeftPane

myCenterPane

protected TabbedPanel myCenterPane

myRightPane

protected TabbedPanel myRightPane

myBottomPane

protected TabbedPanel myBottomPane
Constructor Detail

ArcadeFrame

public ArcadeFrame(java.lang.String frameTitle)
Creates a new arcade frame with the given string Title the frame contains a genetic menuBar and toolBar directly below it. This frame is completely empty. the AddTab method should be called to add a component.

Parameters:
frameTitle -
Method Detail

addMenu

public void addMenu(javax.swing.JMenu menu)
Description copied from interface: IArcadeFrame
This method is called to add a menu to the GUI.

Specified by:
addMenu in interface IArcadeFrame

removeMenu

public void removeMenu(javax.swing.JMenu menu)
Description copied from interface: IArcadeFrame
This method is called to remove a menu from the GUI.

Specified by:
removeMenu in interface IArcadeFrame

addToolBarItem

public void addToolBarItem(javax.swing.JButton button)
Description copied from interface: IArcadeFrame
This method is called to add a button to the existing toolbar. If no action is assigned to the button, clicking the button will do nothing.

Specified by:
addToolBarItem in interface IArcadeFrame

removeToolBarItem

public void removeToolBarItem(javax.swing.JButton button)
Description copied from interface: IArcadeFrame
This method is called to remove a button from the existing toolbar.

Specified by:
removeToolBarItem in interface IArcadeFrame

addToolBarItem

public javax.swing.JButton addToolBarItem(java.lang.String imagePath,
                                          java.lang.String toolTip,
                                          java.awt.event.ActionListener action)
Description copied from interface: IArcadeFrame
Adds a new tool bar item with the given picture, tool tip, and action listener.

Specified by:
addToolBarItem in interface IArcadeFrame

addTab

public void addTab(javax.swing.JComponent component,
                   java.lang.String title,
                   Location location)
Description copied from interface: IArcadeFrame
This method is called to add a new tab to the GUI. The new tab will house the component and will have the String title written on the tab. The tab will be added at the location specified.

Specified by:
addTab in interface IArcadeFrame

addTab

public void addTab(javax.swing.JComponent component,
                   java.lang.String title,
                   Location location,
                   boolean isClosable)
Description copied from interface: IArcadeFrame
This method is called to add a new tab to the GUI. The new tab will house the component and will have the String title written on the tab. The tab will be added at the location specified. Allows specification if the tab can be closed.

Specified by:
addTab in interface IArcadeFrame

removeTab

public void removeTab(java.lang.String title,
                      Location location)
Description copied from interface: IArcadeFrame
This method is called to remove a tab from the GUI. The ID is the id of the frame the tab is housed in, and the location is the physical location of the tab on the screen.

Specified by:
removeTab in interface IArcadeFrame

addFlowLayoutTab

public int addFlowLayoutTab(java.util.List<javax.swing.JComponent> components,
                            java.lang.String tabTitle,
                            Location location)
Description copied from interface: IArcadeFrame
This method is called to add a new tab to the GUI with a flow layout. The new tab takes a list of components and creates a default tab using flow layout. It returns the tabID so the tab can be modified later. The new tab will house the component and will have the String title written on the tab. The tab will be added at the location specified.

Specified by:
addFlowLayoutTab in interface IArcadeFrame

addFlowLayoutTab

public int addFlowLayoutTab(java.util.List<javax.swing.JComponent> components,
                            java.lang.String tabTitle,
                            Location location,
                            boolean isCloseable)
Description copied from interface: IArcadeFrame
This method is called to add a new tab to the GUI with a flow layout. The new tab takes a list of components and creates a default tab using flow layout. It returns the tabID so the tab can be modified later. The new tab will house the component and will have the String title written on the tab. The tab will be added at the location specified.

Specified by:
addFlowLayoutTab in interface IArcadeFrame

getFlowLayoutComponents

public java.util.List<javax.swing.JComponent> getFlowLayoutComponents(int tabID)
Description copied from interface: IArcadeFrame
This method returns the list of JComponents in the given flow layout tab identified by its ID. The list can then be editted and updateFlowLayoutTab should then be called.

Specified by:
getFlowLayoutComponents in interface IArcadeFrame
Returns:

updateFlowLayoutTab

public void updateFlowLayoutTab(int tabID,
                                javax.swing.JComponent component)
Description copied from interface: IArcadeFrame
Used to update a given flow layout tab identified by the tabID.

Specified by:
updateFlowLayoutTab in interface IArcadeFrame

updateFlowLayoutTab

public void updateFlowLayoutTab(int tabID,
                                javax.swing.JComponent component,
                                boolean remove)
Description copied from interface: IArcadeFrame
Used to update a given flow layout tab identified by the tabID.

Specified by:
updateFlowLayoutTab in interface IArcadeFrame

getDimension

public java.awt.Dimension getDimension(Location location)
Description copied from interface: IArcadeFrame
This method is used to return the dimension of a given component.

Specified by:
getDimension in interface IArcadeFrame
Parameters:
location - is the location of the tabbed panel
Returns:
Dimension of the component

toggleOuterPanelsVisibility

public void toggleOuterPanelsVisibility()
Show/hide the outer panels. Checks to see if the panels have any elements. If they do, then the visibility is toggled.