fr.lip6.sma.simulacion.avatar
Class BubblePanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by fr.lip6.sma.simulacion.avatar.BubblePanel
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable

public class BubblePanel
extends JComponent

Classe pour la bulle d'interaction avec l'assistant.

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.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  JTextArea mAssistantMessage
          Référence sur la zone avec le message de l'assistant.
private  Avatar mAvatar
          Référence sur l'avatar.
private  Image mBubbleImage
          Image.
private  JPanel mDialogZone
          Zone avec le message ou la question & la réponse.
private  LocalAgent mLocalAgent
          Référence sur l'agent.
private  JTextArea mPlayerMessage
          Référence sur la zone où entrer la réponse.
private  JScrollPane mPlayerScroll
          Défilement pour le message du joueur.
private  String mPreviousAttitude
          Attitude précédente de l'avatar.
private  List mQueue
          Liste des actions à effectuer.
private  String mReplyMethod
          Méthode à appeler une fois la réponse validée.
private  Map mReplyParams
          Paramètres passés à l'agent lorsque le bouton est validé.
private  JButton mValidateButton
          Référence sur le bouton pour valider le message.
 
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
BubblePanel(LocalAgent inLocalAgent, Avatar inAvatar)
          Constructeur à partir de l'agent local et de l'avatar.
 
Method Summary
 void askQuestion(String inQuestion, String inReplyMethod, Map inParams)
          Pose une question.
private  void doAskQuestion(String inQuestion, String inReplyMethod, Map inParams)
          Pose une question.
private  void doShowMessage(String inMessage)
          Affiche un message.
 void hideBubble()
          Cache la bulle.
 void paintComponent(Graphics inGraphics)
          Dessine la bulle.
private  void setupBubble()
          Prépare l'affichage de la bulle.
 void showMessage(String inMessage)
          Affiche un message.
private  void validateAction()
          Méthode appelée lorsque le bouton est cliqué.
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, 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, updateUI
 
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

mLocalAgent

private final LocalAgent mLocalAgent
Référence sur l'agent.


mAvatar

private final Avatar mAvatar
Référence sur l'avatar.


mBubbleImage

private final Image mBubbleImage
Image.


mDialogZone

private final JPanel mDialogZone
Zone avec le message ou la question & la réponse.


mAssistantMessage

private final JTextArea mAssistantMessage
Référence sur la zone avec le message de l'assistant.


mPlayerMessage

private final JTextArea mPlayerMessage
Référence sur la zone où entrer la réponse.


mPlayerScroll

private JScrollPane mPlayerScroll
Défilement pour le message du joueur.


mValidateButton

private final JButton mValidateButton
Référence sur le bouton pour valider le message.


mPreviousAttitude

private String mPreviousAttitude
Attitude précédente de l'avatar.


mReplyMethod

private String mReplyMethod
Méthode à appeler une fois la réponse validée.


mReplyParams

private Map mReplyParams
Paramètres passés à l'agent lorsque le bouton est validé.


mQueue

private final List mQueue
Liste des actions à effectuer.

Constructor Detail

BubblePanel

public BubblePanel(LocalAgent inLocalAgent,
                   Avatar inAvatar)
Constructeur à partir de l'agent local et de l'avatar.

Parameters:
inLocalAgent - agent local.
inAvatar - avatar.
Method Detail

validateAction

private void validateAction()
Méthode appelée lorsque le bouton est cliqué.


setupBubble

private void setupBubble()
Prépare l'affichage de la bulle.


hideBubble

public void hideBubble()
Cache la bulle.


showMessage

public void showMessage(String inMessage)
Affiche un message.

Parameters:
inMessage - message à afficher.

doShowMessage

private void doShowMessage(String inMessage)
Affiche un message.

Parameters:
inMessage - message à afficher.

askQuestion

public void askQuestion(String inQuestion,
                        String inReplyMethod,
                        Map inParams)
Pose une question.

Parameters:
inQuestion - question à poser.
inReplyMethod - message de réponse (envoyé à l'agent).
inParams - paramètres à passer à l'agent.

doAskQuestion

private void doAskQuestion(String inQuestion,
                           String inReplyMethod,
                           Map inParams)
Pose une question.

Parameters:
inQuestion - question à poser.
inReplyMethod - message de réponse (envoyé à l'agent).
inParams - paramètres à passer à l'agent.

paintComponent

public void paintComponent(Graphics inGraphics)
Dessine la bulle.

Overrides:
paintComponent in class JComponent
Parameters:
inGraphics - interface pour le dessin.