fr.lip6.sma.simulacion.app.map
Class MapRegionPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by fr.lip6.sma.simulacion.app.map.MapPanel
                      extended by fr.lip6.sma.simulacion.app.map.MapRegionPanel
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public abstract class MapRegionPanel
extends MapPanel

Classe de base pour une carte où les joueurs sont présentés dans des régions rectangulaires fixes.

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.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
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 mAgentsLocations
          Tableau avec les coordonées des agents.
private  Map mAgentsRects
          Tableau avec les rectangles de chacun des agents (maison et tout ce qui est dessiné qui leur appartient).
private  Configuration mConfiguration
          Référence sur la configuration globale.
private  Point mLocalAgentLocation
          Position de l'agent local sur la carte, null si l'agent local n'est pas sur la carte.
private  Rectangle mLocalAgentRect
          Rectangle de l'agent local.
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
protected MapRegionPanel(MapPanelListener inMapListener, Configuration inConfiguration)
          Constructeur à partir d'un gestionnaire et de la configuration globale.
protected MapRegionPanel(MapPanelListener inMapListener, Configuration inConfiguration, String inLocalAgentName)
          Constructeur à partir d'un gestionnaire et des coordonnées de l'agent local.
 
Method Summary
 void addAgent(String inName)
          Méthode appelée pour indiquer qu'un nouvel agent est arrivé.
 Map getAgentsLocations()
          Accesseur sur les positions des agents.
 Map getAgentsRects()
          Accesseur sur les rectangles des agents.
protected  Configuration getConfiguration()
          Accesseur sur la configuration globale.
private  String getHouseOwnerName(Point inPoint)
          Méthode pour récupérer le nom de l'agent à qui appartient la maison sous un point donné.
 Point getLocalAgentLocation()
          Accesseur sur la position de l'agent local.
 Rectangle getLocalAgentRect()
          Accesseur sur le rectangle de l'agent local.
static Point getLocationFromString(String inLocationProperty)
          Détermine la position à partir d'une chaîne.
 String getToolTipText(MouseEvent inEvent)
          Méthode pour afficher une bulle d'aide.
abstract  void paintComponent(Graphics inGraphics)
          Dessine le composant.
private  void processClick(MouseEvent inEvent)
          Méthode pour gérer les clics dans la carte.
 void removeAgent(String inName)
          Méthode appelée pour supprimer un agent.
 void setLocalAgentRect(Rectangle inLocalAgentRect)
          Sélecteur sur le rectangle de l'agent local.
protected  void updateSelection(Set inSelectedAgents)
          Méthode appelée lorsque la sélection a changé.
 
Methods inherited from class fr.lip6.sma.simulacion.app.map.MapPanel
getAllowMultipleSelection, getLocalAgentName, getMapListener, getSelectedAgents, getSelectedAgentsSet, isAgentOnMap, selectAgent, selectAgents, setAllowMultipleSelection
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

mConfiguration

private final Configuration mConfiguration
Référence sur la configuration globale.


mLocalAgentLocation

private final Point mLocalAgentLocation
Position de l'agent local sur la carte, null si l'agent local n'est pas sur la carte.


mAgentsLocations

private final Map mAgentsLocations
Tableau avec les coordonées des agents. Les clés sont les noms, les valeurs sont les positions (Point)


mAgentsRects

private final Map mAgentsRects
Tableau avec les rectangles de chacun des agents (maison et tout ce qui est dessiné qui leur appartient). Ce tableau doit être rempli par la méthode paintComponent. Les clés sont les noms des agents.


mLocalAgentRect

private Rectangle mLocalAgentRect
Rectangle de l'agent local. null tant qu'il n'a pas été calculé (il l'est lorsqu'on dessine tout) ou si l'agent local n'est pas sur la carte.

Constructor Detail

MapRegionPanel

protected MapRegionPanel(MapPanelListener inMapListener,
                         Configuration inConfiguration)
Constructeur à partir d'un gestionnaire et de la configuration globale. (si l'agent local n'est pas sur la carte).

Parameters:
inMapListener - référence sur le gestionnaire
inConfiguration - configuration globale

MapRegionPanel

protected MapRegionPanel(MapPanelListener inMapListener,
                         Configuration inConfiguration,
                         String inLocalAgentName)
Constructeur à partir d'un gestionnaire et des coordonnées de l'agent local.

Parameters:
inMapListener - référence sur le gestionnaire
inConfiguration - configuration globale
inLocalAgentName - nom de l'agent local, null si l'agent local n'est pas sur la carte.
Method Detail

getConfiguration

protected final Configuration getConfiguration()
Accesseur sur la configuration globale.

Returns:
une référence sur la configuration globale.

getAgentsLocations

public final Map getAgentsLocations()
Accesseur sur les positions des agents.

Returns:
le tableau des positions des agents.

getAgentsRects

public final Map getAgentsRects()
Accesseur sur les rectangles des agents.

Returns:
le tableau des rectangles des agents.

getLocalAgentLocation

public final Point getLocalAgentLocation()
Accesseur sur la position de l'agent local.

Returns:
la position de l'agent local.

getLocalAgentRect

public final Rectangle getLocalAgentRect()
Accesseur sur le rectangle de l'agent local.

Returns:
le rectangle de l'agent local.

setLocalAgentRect

public final void setLocalAgentRect(Rectangle inLocalAgentRect)
Sélecteur sur le rectangle de l'agent local.

Parameters:
inLocalAgentRect - le rectangle de l'agent local.

paintComponent

public abstract void paintComponent(Graphics inGraphics)
Dessine le composant. Dessine la carte et les maisons des différents agents, et calcule les rectangles des agents (si ce n'est déjà fait).

Overrides:
paintComponent in class JComponent
Parameters:
inGraphics - interface pour dessiner la carte.

addAgent

public void addAgent(String inName)
Méthode appelée pour indiquer qu'un nouvel agent est arrivé. L'ajout se fait avec un verrou sur mAgentsLocation.

Parameters:
inName - nom de l'agent à ajouter.

removeAgent

public void removeAgent(String inName)
Méthode appelée pour supprimer un agent. Indique aussi aux clients que la sélection a changé.

Parameters:
inName - nom de l'agent à supprimer

getToolTipText

public final String getToolTipText(MouseEvent inEvent)
Méthode pour afficher une bulle d'aide. Affiche le nom de l'agent.

Overrides:
getToolTipText in class JComponent
Parameters:
inEvent - l'événement de la souris (permettant de savoir où elle est)
Returns:
le texte de la bulle d'aide (ou null si aucune bulle ne doit être affichée)

getHouseOwnerName

private String getHouseOwnerName(Point inPoint)
Méthode pour récupérer le nom de l'agent à qui appartient la maison sous un point donné.

Parameters:
inPoint - point à tester.
Returns:
le nom de l'agent ou null si aucune maison est sous la souris.

processClick

private void processClick(MouseEvent inEvent)
Méthode pour gérer les clics dans la carte.

Parameters:
inEvent - événement du clic.

getLocationFromString

public static Point getLocationFromString(String inLocationProperty)
Détermine la position à partir d'une chaîne.

Parameters:
inLocationProperty - chaîne pour la position (dans le fichier XML)
Returns:
la position sous forme de point.

updateSelection

protected final void updateSelection(Set inSelectedAgents)
Méthode appelée lorsque la sélection a changé.

Specified by:
updateSelection in class MapPanel
Parameters:
inSelectedAgents - la liste des noms des agents sélectionnés. (le processus léger courant possède le moniteur dessus).