fr.lip6.sma.simulacion.app
Class SetupWindow

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 fr.lip6.sma.simulacion.app.LocalizedWindow
                          extended by fr.lip6.sma.simulacion.app.ApplicationWindow
                              extended by fr.lip6.sma.simulacion.app.GameApplicationWindow
                                  extended by fr.lip6.sma.simulacion.app.SetupWindow
All Implemented Interfaces:
AgentListClient, ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants

public abstract class SetupWindow
extends GameApplicationWindow
implements AgentListClient

Classe pour la fenêtre de configuration de l'application.

Version:
$Revision: 3 $
Author:
Paul Guyot
See Also:
"aucun test défini.", Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
private  Map mAvatarZones
          Liste des zones pour chacun des avatars.
private  JPanel mButtonsZone
          Zone with the buttons.
private  AgentListManager mListManager
          Gestionnaire de la liste des agents sur le réseau.
private  LocalAgent mLocalAgent
          Agent local enregistré sur le réseau (ou null).
private  JPanel mMainPane
          Main pane.
private  SortedSet mPlayerAgentNames
          Liste (triée) des noms des agents utilisables pour jouer.
private  JButton mQuitButton
          "Quit" button.
private  String mSelectedAvatarName
          Avatar sélectionné ou null si aucun avatar n'est choisi.
private  JButton mSetupButton
          "Setup" button.
 
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
SetupWindow(GameApplication inApplication)
          Constructeur à partir d'une référence sur l'application.
 
Method Summary
 void avatarZoneMouseClicked(MouseEvent inEvent)
          Méthode appelée lorsqu'un clic survient dans la zone de l'avatar.
private  boolean canAvatarBeSelected(String inAvatarName)
          Détermine si un avatar peut être choisi.
private  JPanel createAvatarZones()
          Crée les vues sur les avatars dans un JPanel.
 void dispose()
          Méthode appelée lorsque la fenêtre est fermée.
private  void handleOutClick()
          Méthode invoquée lorsqu'un clic est fait en dehors de toute zone est fait.
private  void handleZoneClick(String inAvatarName)
          Méthode invoquée lorsqu'une zone d'avatar est cliquée.
private  void initComponents()
          Méthode pour initialiser les composants au démarrage de l'application.
 void listChanged()
          Méthode appelée lorsque la liste a été modifiée.
private  void mQuitButtonActionPerformed(ActionEvent inEvent)
          Méthode invoquée lorsque le bouton "Quit" de la fenêtre est cliqué.
private  void mSetupButtonActionPerformed(ActionEvent inEvent)
          Méthode invoquée lorsque le bouton "Setup" de la fenêtre est cliqué.
 void registrationFailed(LocalAgent inLocalAgent)
          Méthode appelée lorsque l'enregistrement a échoué.
 void registrationSucceeded(LocalAgent inLocalAgent)
          Méthode appelée lorsque l'enregistrement a réussi.
private  void selectAvatar(String inAvatarName)
          Méthode invoquée pour marquer qu'un avatar est choisi.
private  void unselectAvatar()
          Méthode invoquée pour marquer que l'avatar courant n'est plus choisi.
private  void updateNonSelectableItems()
          Méthode invoquée pour activer/désactiver les agents en fonction de la liste des avatars que l'on peut choisir.
 
Methods inherited from class fr.lip6.sma.simulacion.app.GameApplicationWindow
getGameApplication
 
Methods inherited from class fr.lip6.sma.simulacion.app.ApplicationWindow
doAbout, doQuit, getApplication
 
Methods inherited from class fr.lip6.sma.simulacion.app.LocalizedWindow
addNotify, centerWindow, localizeAbstractButton, localizeComponent, localizeCompoundBorder, localizeContainer, localizeFrame, localizeJComponent, localizeJProgressBar, localizeLabel, localizeMenuElement, localizeString, localizeTextComponent, pack, resetDefaultLocale, thisWindowClosing
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
finalize, 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, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, 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, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, 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, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

mMainPane

private final JPanel mMainPane
Main pane.


mButtonsZone

private final JPanel mButtonsZone
Zone with the buttons.


mQuitButton

private final JButton mQuitButton
"Quit" button.


mSetupButton

private final JButton mSetupButton
"Setup" button.


mPlayerAgentNames

private final SortedSet mPlayerAgentNames
Liste (triée) des noms des agents utilisables pour jouer.


mAvatarZones

private final Map mAvatarZones
Liste des zones pour chacun des avatars. Les clés sont les noms des agents. Chaque élément est un JPanel avec comme nom le nom de l'avatar.


mListManager

private final AgentListManager mListManager
Gestionnaire de la liste des agents sur le réseau.


mSelectedAvatarName

private String mSelectedAvatarName
Avatar sélectionné ou null si aucun avatar n'est choisi.


mLocalAgent

private LocalAgent mLocalAgent
Agent local enregistré sur le réseau (ou null).

Constructor Detail

SetupWindow

public SetupWindow(GameApplication inApplication)
Constructeur à partir d'une référence sur l'application.

Parameters:
inApplication - référence sur l'application simulacion
Method Detail

initComponents

private void initComponents()
Méthode pour initialiser les composants au démarrage de l'application. Elle est essentiellement générée par MW.


createAvatarZones

private JPanel createAvatarZones()
Crée les vues sur les avatars dans un JPanel.

Returns:
le JPanel contenant les vues sur les avatars.

registrationSucceeded

public final void registrationSucceeded(LocalAgent inLocalAgent)
Méthode appelée lorsque l'enregistrement a réussi.

Specified by:
registrationSucceeded in interface AgentListClient
Parameters:
inLocalAgent - agent enregistré avec succès.

registrationFailed

public void registrationFailed(LocalAgent inLocalAgent)
Méthode appelée lorsque l'enregistrement a échoué.

Specified by:
registrationFailed in interface AgentListClient
Parameters:
inLocalAgent - agent qui n'a pas pu être enregistré.

listChanged

public void listChanged()
Méthode appelée lorsque la liste a été modifiée.

Specified by:
listChanged in interface AgentListClient

mSetupButtonActionPerformed

private void mSetupButtonActionPerformed(ActionEvent inEvent)
Méthode invoquée lorsque le bouton "Setup" de la fenêtre est cliqué. On ferme la fenêtre et on dit à l'objet Application de continuer.

Parameters:
inEvent - événement du clic (ignoré)

mQuitButtonActionPerformed

private void mQuitButtonActionPerformed(ActionEvent inEvent)
Méthode invoquée lorsque le bouton "Quit" de la fenêtre est cliqué. On quitte.

Parameters:
inEvent - événement du clic (ignoré)

avatarZoneMouseClicked

public void avatarZoneMouseClicked(MouseEvent inEvent)
Méthode appelée lorsqu'un clic survient dans la zone de l'avatar.

Parameters:
inEvent - événement du clic

handleZoneClick

private void handleZoneClick(String inAvatarName)
Méthode invoquée lorsqu'une zone d'avatar est cliquée.

Parameters:
inAvatarName - nom de l'avatar correspondant.

handleOutClick

private void handleOutClick()
Méthode invoquée lorsqu'un clic est fait en dehors de toute zone est fait.


selectAvatar

private void selectAvatar(String inAvatarName)
Méthode invoquée pour marquer qu'un avatar est choisi. Il faut appeler la méthode unselectAvatar auparavant.

Parameters:
inAvatarName - nom de l'avatar choisi
See Also:
unselectAvatar()

unselectAvatar

private void unselectAvatar()
Méthode invoquée pour marquer que l'avatar courant n'est plus choisi. Si l'agent était enregistré, on le marque comme ne pouvant pas être choisi. Sinon, on le marque comme pouvant être choisi.


updateNonSelectableItems

private void updateNonSelectableItems()
Méthode invoquée pour activer/désactiver les agents en fonction de la liste des avatars que l'on peut choisir.


canAvatarBeSelected

private boolean canAvatarBeSelected(String inAvatarName)
Détermine si un avatar peut être choisi.

Parameters:
inAvatarName - nom de l'avatar
Returns:
true si l'avatar peut être choisi, false sinon.

dispose

public void dispose()
Méthode appelée lorsque la fenêtre est fermée. On n'est plus intéressé par les changements dans la liste des agents.

Overrides:
dispose in class ApplicationWindow