vooga.arcade.components.specific
Class MultiplayerLobbyFrame

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
                          extended by vooga.arcade.components.specific.MultiplayerLobbyFrame
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, IArcadeFrame, ILobbyInfoReceiver

public class MultiplayerLobbyFrame
extends ArcadeFrame
implements ILobbyInfoReceiver

Class used to manage a multiplayer lobby. It communicates with the server to the have an accurate display of lobby games.

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
 
Fields inherited from class vooga.arcade.ArcadeFrame
myBottomPane, myCenterPane, myLeftPane, myMenuBar, myRightPane, mySize, 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
MultiplayerLobbyFrame(java.lang.String game, java.lang.String username, VoogaGUI GUI, ArcadeEventListenerManager listeners)
          Create the multiplayer lobby frame and add a lobby tab and a create new game lobby button.
 
Method Summary
 void createGameLobby(java.lang.String lobbyName)
          Tells the lobby client to create a new game lobby with the given name and max number of players.
 void joinGameLobby(long lobbyID)
          Tells the lobby client to add the current user to the given lobby.
 void leaveGameLobby(long lobbyID)
          Tells the lobby client to remove the current user from the given lobby.
 void receiveGameStarting(long lobbyID, int playerNumber, int numberOfPlayers)
          Launch a multiplayer game and fire the start game event.
 void receiveLobbyClosed(long lobbyID)
          The lobby client informs the lobby that the given game lobby should be closed.
 void receiveNewLobby(long lobbyID, java.lang.String lobbyName)
          The lobby client informs the lobby that a new lobby game was created.
 void receiveUserJoinedLobby(long lobbyID, java.lang.String username)
          The lobby client informs the lobby that a user joined a specific game lobby.
 void receiveUserLeftLobby(long lobbyID, java.lang.String username)
          The lobby client informs the lobby that a user left a specific game lobby.
 
Methods inherited from class vooga.arcade.ArcadeFrame
addFlowLayoutTab, addFlowLayoutTab, addMenu, addTab, addTab, addToolBarItem, addToolBarItem, getDimension, getFlowLayoutComponents, removeMenu, removeTab, removeToolBarItem, toggleOuterPanelsVisibility, updateFlowLayoutTab, updateFlowLayoutTab
 
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
 

Constructor Detail

MultiplayerLobbyFrame

public MultiplayerLobbyFrame(java.lang.String game,
                             java.lang.String username,
                             VoogaGUI GUI,
                             ArcadeEventListenerManager listeners)
Create the multiplayer lobby frame and add a lobby tab and a create new game lobby button. Then initialize the lobby client.

Method Detail

createGameLobby

public void createGameLobby(java.lang.String lobbyName)
Tells the lobby client to create a new game lobby with the given name and max number of players.


joinGameLobby

public void joinGameLobby(long lobbyID)
Tells the lobby client to add the current user to the given lobby.


leaveGameLobby

public void leaveGameLobby(long lobbyID)
Tells the lobby client to remove the current user from the given lobby.


receiveLobbyClosed

public void receiveLobbyClosed(long lobbyID)
The lobby client informs the lobby that the given game lobby should be closed.

Specified by:
receiveLobbyClosed in interface ILobbyInfoReceiver

receiveNewLobby

public void receiveNewLobby(long lobbyID,
                            java.lang.String lobbyName)
The lobby client informs the lobby that a new lobby game was created.

Specified by:
receiveNewLobby in interface ILobbyInfoReceiver

receiveUserJoinedLobby

public void receiveUserJoinedLobby(long lobbyID,
                                   java.lang.String username)
The lobby client informs the lobby that a user joined a specific game lobby.

Specified by:
receiveUserJoinedLobby in interface ILobbyInfoReceiver
Parameters:
lobbyID - - the ID of the lobby the user has joined.

receiveUserLeftLobby

public void receiveUserLeftLobby(long lobbyID,
                                 java.lang.String username)
The lobby client informs the lobby that a user left a specific game lobby.

Specified by:
receiveUserLeftLobby in interface ILobbyInfoReceiver

receiveGameStarting

public void receiveGameStarting(long lobbyID,
                                int playerNumber,
                                int numberOfPlayers)
Launch a multiplayer game and fire the start game event.

Specified by:
receiveGameStarting in interface ILobbyInfoReceiver
Parameters:
lobbyID - - the ID of the lobby from which the game is starting
playerNumber - - the player number for this player
numberOfPlayers - - the total number of human players