icar
Class IcarComponent

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Panel
              extended byicar.IcarComponent
All Implemented Interfaces:
javax.accessibility.Accessible, IcarRapportAnalyseSender, IcarRapportClasseSender, IcarRapportTraceSender, java.awt.image.ImageObserver, java.awt.MenuContainer, icar.NewGesteListener, java.io.Serializable

public class IcarComponent
extends java.awt.Panel
implements icar.NewGesteListener, IcarRapportAnalyseSender, IcarRapportTraceSender, IcarRapportClasseSender

Cette classe est un composant AWT à implanter tel quel dans une application AWT et permet la reconnaissance graphique de geste basée sur des dictionnaires.
Ce composant possède un dictionnaire associé que l'on peut modifier à volonté.
La classe permet le chargement/sauvegarde de dictionnaire, mais aussi la création de dictionnaire en mode apprentissage.
Cette classe sert de controleur entre ZoneDessin et Classifieur, c'est à lire entre le zone de trace et le systeme de classification.

Author:
SALUT Jerome
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class java.awt.Panel
java.awt.Panel.AccessibleAWTPanel
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
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
IcarComponent(java.lang.String nomFichierDictionnaire, int tailleX, int tailleY)
          Cree un nouveau composant à partir d'un fichier dictionnaire
 
Method Summary
 java.awt.Component add(java.awt.Component comp)
           
 java.awt.Component add(java.awt.Component comp, int index)
           
 void add(java.awt.Component comp, java.lang.Object constraints)
           
 void add(java.awt.Component comp, java.lang.Object constraints, int index)
           
 java.awt.Component add(java.lang.String name, java.awt.Component comp)
           
 void addIcarRapportAnalyseListener(IcarRapportAnalyseListener listener)
          Ajouter un listener
 void addIcarRapportClasseListener(IcarRapportClasseListener listener)
          Ajouter un listener
 void addIcarRapportTraceListener(IcarRapportTraceListener listener)
          Ajouter un listener
 void afficher(java.util.Vector trace)
          Affiche un trace dans le composant.
 void alertIcarRapportAnalyseListeners(java.lang.String motif, java.lang.String message)
          Previent les listeners de l'évenement
 void alertIcarRapportClasseListeners()
          Previent les listeners de l'évenement
 void alertIcarRapportTraceListeners(java.lang.String motif)
          Previent les listeners de l'évenement
 void clear()
          Efface le contenu du composant
 void deleteClass(java.lang.String nomClasse)
          Efface une classe du dictionnaire courant
 void deleteClassExemple(java.lang.String nomClasse, java.util.Vector trace)
          Efface un exemple d'une classe
 void eraseIcarRapportAnalyseListener(IcarRapportAnalyseListener listener)
          Supprime un listener
 void eraseIcarRapportClasseListener(IcarRapportClasseListener listener)
          Supprime un listener
 void eraseIcarRapportTraceListener(IcarRapportTraceListener listener)
          Supprime un listener
 int getEchantillonage()
          Renvoie la valeur d'échantillonage courant
L'échantillonage est la distance temporelle minimum entre 2 points du tracé sur la zone de tracé.
 java.awt.Insets getInsets()
          Renvoie la taille des bordures (utilisé par AWT)
 java.util.Set getListeClasse()
          Renvoie la liste des classe contenues par le dictionnaire courant
 java.util.Vector getListeTrace(java.lang.String motif)
          Renvoie la liste des exemples d'une classe spécifique
 java.lang.String getMotif()
          Renvoie l'identifiant de la classe courante (en cours d'apprentissage ou reconnue)
 boolean loadFromFile(java.lang.String nomFichier)
          Charge un dictionnaire depuis une fichier
 void newDictionnary()
          Cree un nouveau dictionnaire associé au composant
 void processNewGesteEvent(icar.NewGesteEvent event)
          Cette methode est appelé lorsqu'un évenement NewTraceEvent se produit.
 void saveToFile(java.lang.String nomfichier)
          Sauvegarde le dictionnaire courant dans un fichier
 void setEchantillonage(int echantillonage)
          Fixe l'echantillonage courant.
 void setMotif(java.lang.String motif)
          Fixe l'identifiant de la classe courante (en vue d'un apprentissage)
 void setTrainingMode(boolean isTraining)
          Fixe le mode d'apprentissage ou de reconnaissance
 void switchShowDetailsState()
          Fixe le détails d'affichage des tracés.
 
Methods inherited from class java.awt.Panel
addNotify, getAccessibleContext
 
Methods inherited from class java.awt.Container
addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getListeners, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, 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, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IcarComponent

public IcarComponent(java.lang.String nomFichierDictionnaire,
                     int tailleX,
                     int tailleY)
Cree un nouveau composant à partir d'un fichier dictionnaire

Parameters:
nomFichierDictionnaire - le chemin vers le fichier dictionnaire
tailleX - la taille du composant en X
tailleY - la taille du composant en Y
Method Detail

add

public java.awt.Component add(java.awt.Component comp)

add

public java.awt.Component add(java.awt.Component comp,
                              int index)

add

public void add(java.awt.Component comp,
                java.lang.Object constraints)

add

public void add(java.awt.Component comp,
                java.lang.Object constraints,
                int index)

add

public java.awt.Component add(java.lang.String name,
                              java.awt.Component comp)

clear

public void clear()
Efface le contenu du composant


newDictionnary

public void newDictionnary()
Cree un nouveau dictionnaire associé au composant


loadFromFile

public boolean loadFromFile(java.lang.String nomFichier)
Charge un dictionnaire depuis une fichier

Parameters:
nomFichier - le chemin vers le fichier dictionnaire
Returns:
FAUX si le chargement a été abandonné
VRAI si le chargement a été un succes

saveToFile

public void saveToFile(java.lang.String nomfichier)
Sauvegarde le dictionnaire courant dans un fichier

Parameters:
nomfichier - le chemin vers le fichier dans lequel sauvegarder le dictionnaire

deleteClass

public void deleteClass(java.lang.String nomClasse)
Efface une classe du dictionnaire courant

Parameters:
nomClasse - l'identifiant de la classe

deleteClassExemple

public void deleteClassExemple(java.lang.String nomClasse,
                               java.util.Vector trace)
Efface un exemple d'une classe

Parameters:
nomClasse - l'identifiant de la classe concernée
trace - l'exemple à supprimer

afficher

public void afficher(java.util.Vector trace)
Affiche un trace dans le composant.
Ce tracé est en général obtenu par un événement de rapport provenant du sytème de classification

Parameters:
trace - a value of type 'Vector'

switchShowDetailsState

public void switchShowDetailsState()
Fixe le détails d'affichage des tracés.
A chaque appel, le composant commute entre un affichage détaille ou non.


setTrainingMode

public void setTrainingMode(boolean isTraining)
Fixe le mode d'apprentissage ou de reconnaissance

Parameters:
isTraining -
TRUE indique le mode d'apprentissage, c'est à dire que tout nouveau tracé sera enregistré dans le dictionnaire courante dans la classe fixée par la fonction setMotif(..)
FALSE indique le mode de reconnaissance (par defaut)

getEchantillonage

public int getEchantillonage()
Renvoie la valeur d'échantillonage courant
L'échantillonage est la distance temporelle minimum entre 2 points du tracé sur la zone de tracé.

Returns:
a value of type 'int'

setEchantillonage

public void setEchantillonage(int echantillonage)
Fixe l'echantillonage courant.
L'échantillonage est la distance temporelle minimum entre 2 points du tracé sur la zone de tracé.

Parameters:
echantillonage - a value of type 'int'

getMotif

public java.lang.String getMotif()
Renvoie l'identifiant de la classe courante (en cours d'apprentissage ou reconnue)

Returns:
l'identifiant de la classe

setMotif

public void setMotif(java.lang.String motif)
Fixe l'identifiant de la classe courante (en vue d'un apprentissage)

Parameters:
motif - l'identifiant de la classe

getListeClasse

public java.util.Set getListeClasse()
Renvoie la liste des classe contenues par le dictionnaire courant

Returns:
a value of type 'Set'

getListeTrace

public java.util.Vector getListeTrace(java.lang.String motif)
Renvoie la liste des exemples d'une classe spécifique

Parameters:
motif - la classe concernée
Returns:
la liste des exemples de la classe (un vecteur de tracé)

getInsets

public java.awt.Insets getInsets()
Renvoie la taille des bordures (utilisé par AWT)

Returns:
a value of type 'Insets'

processNewGesteEvent

public void processNewGesteEvent(icar.NewGesteEvent event)
Cette methode est appelé lorsqu'un évenement NewTraceEvent se produit. Utilisé en interne, ne pas appeler directement.

Specified by:
processNewGesteEvent in interface icar.NewGesteListener
Parameters:
event - a value of type 'NewGesteEvent'

addIcarRapportAnalyseListener

public void addIcarRapportAnalyseListener(IcarRapportAnalyseListener listener)
Description copied from interface: IcarRapportAnalyseSender
Ajouter un listener

Specified by:
addIcarRapportAnalyseListener in interface IcarRapportAnalyseSender
Parameters:
listener - a value of type 'IcarRapportAnalyseListener'

eraseIcarRapportAnalyseListener

public void eraseIcarRapportAnalyseListener(IcarRapportAnalyseListener listener)
Description copied from interface: IcarRapportAnalyseSender
Supprime un listener

Specified by:
eraseIcarRapportAnalyseListener in interface IcarRapportAnalyseSender
Parameters:
listener - a value of type 'IcarRapportAnalyseListener'

alertIcarRapportAnalyseListeners

public void alertIcarRapportAnalyseListeners(java.lang.String motif,
                                             java.lang.String message)
Description copied from interface: IcarRapportAnalyseSender
Previent les listeners de l'évenement

Specified by:
alertIcarRapportAnalyseListeners in interface IcarRapportAnalyseSender
Parameters:
motif - l'identifiant de la classe reconnue
message - le détail de la reconnaissance de la classe

addIcarRapportClasseListener

public void addIcarRapportClasseListener(IcarRapportClasseListener listener)
Description copied from interface: IcarRapportClasseSender
Ajouter un listener

Specified by:
addIcarRapportClasseListener in interface IcarRapportClasseSender
Parameters:
listener - a value of type 'IcarRapportClasseListener'

eraseIcarRapportClasseListener

public void eraseIcarRapportClasseListener(IcarRapportClasseListener listener)
Description copied from interface: IcarRapportClasseSender
Supprime un listener

Specified by:
eraseIcarRapportClasseListener in interface IcarRapportClasseSender
Parameters:
listener - a value of type 'IcarRapportClasseListener'

alertIcarRapportClasseListeners

public void alertIcarRapportClasseListeners()
Description copied from interface: IcarRapportClasseSender
Previent les listeners de l'évenement

Specified by:
alertIcarRapportClasseListeners in interface IcarRapportClasseSender

addIcarRapportTraceListener

public void addIcarRapportTraceListener(IcarRapportTraceListener listener)
Description copied from interface: IcarRapportTraceSender
Ajouter un listener

Specified by:
addIcarRapportTraceListener in interface IcarRapportTraceSender
Parameters:
listener - a value of type 'IcarRapportTraceListener'

eraseIcarRapportTraceListener

public void eraseIcarRapportTraceListener(IcarRapportTraceListener listener)
Description copied from interface: IcarRapportTraceSender
Supprime un listener

Specified by:
eraseIcarRapportTraceListener in interface IcarRapportTraceSender
Parameters:
listener - a value of type 'IcarRapportTraceListener'

alertIcarRapportTraceListeners

public void alertIcarRapportTraceListeners(java.lang.String motif)
Description copied from interface: IcarRapportTraceSender
Previent les listeners de l'évenement

Specified by:
alertIcarRapportTraceListeners in interface IcarRapportTraceSender
Parameters:
motif - la classe concernée par le changement de la liste d'exemple