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

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.MapCell
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public abstract class MapCell
extends JPanel

This GUI component represents one cell where agents can be situated on the game application map. Basically, a map using the MapMultiCellPanel is a mesh of MapCell classes. This highest level implementation of the cell just maintains the number of agents it contains. It monitors the access to the number of agents.

Version:
$Revision: 3 $
Author:
Eric Platon
See Also:
MapMultiCellPanel, 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 mAgentsComponents
          Tableau avec les éléments pour chacun des agents.
private  int mXcoordinate
          X coordinate of the cell
private  int mYcoordinate
          Y coordinate of the cell
 
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
MapCell(MapMultiCellModel inModel, int inXcoord, int inYcoord)
          Constructor of a MapCell.
 
Method Summary
abstract  void addAgent(String inAgentName, boolean inIsLocalAgent, int inShapeTypeID, Color inColor)
          Add an agent to the cell.
protected  void addAgentComponent(String inAgentName, MapComponentItem inComponent)
          Add an agent component to the set.
protected  Iterator agentComponentsIterator()
          Get an iterator on the agent components.
protected  int countAgentComponents()
          Return the number of agent components.
protected  MapComponentItem getAgentComponent(String inAgentName)
          Get an agent component.
 int getXcoordinate()
          Returns the X coordinate of the cell.
 int getYcoordinate()
          Returns the Y coordinate of the cell.
abstract  boolean removeAgent(String inAgentName)
          Remove an agent from on the cell.
protected  void removeAgentComponent(String inAgentName)
          Remove an agent component.
 
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, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, 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

mXcoordinate

private int mXcoordinate
X coordinate of the cell


mYcoordinate

private int mYcoordinate
Y coordinate of the cell


mAgentsComponents

private final Map mAgentsComponents
Tableau avec les éléments pour chacun des agents. Les clés sont les noms des agents, les valeurs des objets de type MapComponentItem.

Constructor Detail

MapCell

public MapCell(MapMultiCellModel inModel,
               int inXcoord,
               int inYcoord)
Constructor of a MapCell. Initializes the coordinates of the cell, the number of agents to zero, and the maximum number of agents in allowed in the cell.

Parameters:
inModel - modèle du jeu.
inXcoord - X coordinate of the cell.
inYcoord - Y coordinate of the cell.
Method Detail

getXcoordinate

public final int getXcoordinate()
Returns the X coordinate of the cell.

Returns:
the X coordinate of the cell.

getYcoordinate

public final int getYcoordinate()
Returns the Y coordinate of the cell.

Returns:
the Y coordinate of the cell.

countAgentComponents

protected final int countAgentComponents()
Return the number of agent components.

Returns:
the number of components.

agentComponentsIterator

protected final Iterator agentComponentsIterator()
Get an iterator on the agent components.

Returns:
a new iterator.

addAgentComponent

protected final void addAgentComponent(String inAgentName,
                                       MapComponentItem inComponent)
Add an agent component to the set.

Parameters:
inAgentName - name of the agent's component.
inComponent - the component.

getAgentComponent

protected final MapComponentItem getAgentComponent(String inAgentName)
Get an agent component.

Parameters:
inAgentName - name of the agent's component.
Returns:
the corresponding agent component or null

removeAgentComponent

protected final void removeAgentComponent(String inAgentName)
Remove an agent component.

Parameters:
inAgentName - name of the agent's component to remove.

addAgent

public abstract void addAgent(String inAgentName,
                              boolean inIsLocalAgent,
                              int inShapeTypeID,
                              Color inColor)
Add an agent to the cell.

Parameters:
inAgentName - Name of the agent to add.
inIsLocalAgent - Is it the local agent?
inShapeTypeID - id of the shape.
inColor - color of the agent.

removeAgent

public abstract boolean removeAgent(String inAgentName)
Remove an agent from on the cell.

Parameters:
inAgentName - name of the agent to remove
Returns:
true if the operation was successful, false otherwise.