Class MultiplayerDialog

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Dialog
                          |
                          +--javax.swing.JDialog
                                |
                                +--MultiplayerDialog
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.event.KeyListener, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class MultiplayerDialog
extends javax.swing.JDialog
implements java.awt.event.ActionListener, java.awt.event.KeyListener

The MultiplayerDialog class is the set of dialog boxes displayed when a multiplayer game is running.

See Also:
Serialized Form

Inner classes inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
 
Inner classes inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog
 
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.JButton cancel
          Allows the user to stop connecting or hosting the new multiplayer game.
protected  javax.swing.JTextField connectIP
          The text field input box to get the ip to connect to.
protected  javax.swing.JTextField connectPort
          The text field input box to get the port to connect to.
protected  javax.swing.Timer connectTimer
          A Timer that waits to see if the client has connected; used by the attempting to connect dialog.
protected  Game game
          The link to the Sokoban game interface.
protected  javax.swing.JButton helpHost
          The JButton that displays the host game help.
protected  javax.swing.JButton helpJoin
          The JButton that displays the join game help.
protected  javax.swing.JButton hostGame
          The JButton that starts the host game setup.
protected  javax.swing.JButton joinGame
          The JButton that starts the join game.
protected  java.lang.String level
          The name of the level to be played.
protected  javax.swing.JList levelList
          The JList that contains the list of levels.
protected  java.lang.String[] levels
          A string list of the levels available to be played.
protected  javax.swing.JTextField myIP
          The text field input box that displays the host's ip
protected  SGui owner
          The link to the Sokoban user interface.
protected  javax.swing.JButton startGame
          Allows the user to start the game.
protected  javax.swing.JButton startHost
          JDialog starts waiting for connections when clicked.
protected  javax.swing.JButton startJoin
          JDailog attempts to connect to server specified in connectData when clicked.
protected  javax.swing.JList userListDisplay
          The JList that contains the list of users.
protected  javax.swing.JTextField userName
          The text field input box for the user's name.
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
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
MultiplayerDialog(SGui owner, Game game)
          Constructor - sets up and displays the multiplayer dialog box.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent ev)
          The actionPerformed method responds to action events generated by the buttons on the JDialog.
 void cancelDialog()
          Stops the connectTimer, ends the game and hides the multiplayer connection dialog.
 void connectionClosed()
          Shows a dialog informing user of that the connection with the server has been closed.
 void couldNotConnect()
          Shows a dialog informing user of that the connection with the server could not be established.
 java.lang.String getLevelName()
          Returns the name of the level selected in the levelList JList
 void keyPressed(java.awt.event.KeyEvent ev)
          Responds to the ESCAPE key being pressed to close the window.
 void keyReleased(java.awt.event.KeyEvent ev)
          Empty method: required by keylistener.
 void keyTyped(java.awt.event.KeyEvent ev)
          Empty method: required by keylistener.
 boolean showChangeLevelRequestDialog(java.lang.String userName, java.lang.String levelName)
          Shows a confirmation dialog box asking if the user wishes to change the current level.
 void showHostDialog()
           
 void showJoinDialog()
           
 boolean showRestartRequestDialog(java.lang.String userName)
          Shows a confirmation dialog box asking if the user wishes to restart the current level.
 void showWaitingDialog(boolean hosting)
          Displays the waiting for game to start dialog window.
 void updateUserList(Robot[] robots)
          Updates the userListDisplay with the current robots' user names.
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isRootPaneCheckingEnabled, paramString, processKeyEvent, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setLocationRelativeTo, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Dialog
addNotify, dispose, getTitle, hide, isModal, isResizable, setModal, setResizable, setTitle, show
 
Methods inherited from class java.awt.Window
addWindowListener, applyResourceBundle, applyResourceBundle, finalize, getFocusOwner, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, isShowing, pack, postEvent, processEvent, removeWindowListener, setCursor, 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, removeNotify, 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, remove, 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
 

Field Detail

game

protected Game game
The link to the Sokoban game interface.

owner

protected SGui owner
The link to the Sokoban user interface.

userName

protected javax.swing.JTextField userName
The text field input box for the user's name.

myIP

protected javax.swing.JTextField myIP
The text field input box that displays the host's ip

connectIP

protected javax.swing.JTextField connectIP
The text field input box to get the ip to connect to.

connectPort

protected javax.swing.JTextField connectPort
The text field input box to get the port to connect to.

level

protected java.lang.String level
The name of the level to be played.

levels

protected java.lang.String[] levels
A string list of the levels available to be played.

levelList

protected javax.swing.JList levelList
The JList that contains the list of levels.

userListDisplay

protected javax.swing.JList userListDisplay
The JList that contains the list of users.

hostGame

protected javax.swing.JButton hostGame
The JButton that starts the host game setup.

joinGame

protected javax.swing.JButton joinGame
The JButton that starts the join game.

startHost

protected javax.swing.JButton startHost
JDialog starts waiting for connections when clicked.

startJoin

protected javax.swing.JButton startJoin
JDailog attempts to connect to server specified in connectData when clicked.

startGame

protected javax.swing.JButton startGame
Allows the user to start the game.

helpHost

protected javax.swing.JButton helpHost
The JButton that displays the host game help.

helpJoin

protected javax.swing.JButton helpJoin
The JButton that displays the join game help.

cancel

protected javax.swing.JButton cancel
Allows the user to stop connecting or hosting the new multiplayer game.

connectTimer

protected javax.swing.Timer connectTimer
A Timer that waits to see if the client has connected; used by the attempting to connect dialog.
Constructor Detail

MultiplayerDialog

public MultiplayerDialog(SGui owner,
                         Game game)
Constructor - sets up and displays the multiplayer dialog box.
Method Detail

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent ev)
The actionPerformed method responds to action events generated by the buttons on the JDialog. It is required for implementing ActionListener
Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
e - the action event sent by the OS when an action is fired
preconditions: an action has been fired
postconditions: the ActionEvent has been handled

keyPressed

public void keyPressed(java.awt.event.KeyEvent ev)
Responds to the ESCAPE key being pressed to close the window. precondition: the jdialog is visible. postcondition: the jdialog is not visible.
Specified by:
keyPressed in interface java.awt.event.KeyListener

keyReleased

public void keyReleased(java.awt.event.KeyEvent ev)
Empty method: required by keylistener.
Specified by:
keyReleased in interface java.awt.event.KeyListener

keyTyped

public void keyTyped(java.awt.event.KeyEvent ev)
Empty method: required by keylistener.
Specified by:
keyTyped in interface java.awt.event.KeyListener

cancelDialog

public void cancelDialog()
Stops the connectTimer, ends the game and hides the multiplayer connection dialog.
preconditions: the multiplayer dialog is visible
postconditions: the multiplayer dialog is closed and the new game creation is stopped.

showHostDialog

public void showHostDialog()

showJoinDialog

public void showJoinDialog()

showWaitingDialog

public void showWaitingDialog(boolean hosting)
Displays the waiting for game to start dialog window.
Parameters:
hosting - boolean variable signifying if the user is hosting or not.
preconditions: none.
postconditions: the waiting for game start dialog is displayed.

showRestartRequestDialog

public boolean showRestartRequestDialog(java.lang.String userName)
Shows a confirmation dialog box asking if the user wishes to restart the current level.
Parameters:
userName - the name of the user requesting the restart
Returns:
true if the user selects yes, otherwise false
preconditions: none
postconditions: the request dialog has been displayed and the user has selected yes or no.

showChangeLevelRequestDialog

public boolean showChangeLevelRequestDialog(java.lang.String userName,
                                            java.lang.String levelName)
Shows a confirmation dialog box asking if the user wishes to change the current level.
Parameters:
userName - the name of the user requesting the level change
levelName - the name of the level to change to
Returns:
true if the user selects yes, otherwise false
preconditions: none
postconditions: the request dialog has been displayed and the user has selected yes or no.

getLevelName

public java.lang.String getLevelName()
Returns the name of the level selected in the levelList JList
Returns:
the name of the level selected in the level list display

updateUserList

public void updateUserList(Robot[] robots)
Updates the userListDisplay with the current robots' user names.
preconditions: the userListDisplay has been initialized
postconditions: the user list is updated

connectionClosed

public void connectionClosed()
Shows a dialog informing user of that the connection with the server has been closed.
preconditions: none
postconditions: the connection closed dialog is visible

couldNotConnect

public void couldNotConnect()
Shows a dialog informing user of that the connection with the server could not be established.
preconditions: none
postconditions: the failed connection dialog is visible