simu
Class SimuApplet

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Panel
              extended by java.applet.Applet
                  extended by simu.SimuApplet
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.event.ItemListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, SimuParams
Direct Known Subclasses:
Projectile

public abstract class SimuApplet
extends java.applet.Applet
implements java.awt.event.ActionListener, java.awt.event.ItemListener, SimuParams

Applet créant une interface pour un problème donné dans une classe dérivée. Une classe dérivée de SimuApplet doit définir le problème physique (paramètres et calcul) avec les méthodes définies dans SimuParams. Cette classe dérivée doit implémenter les méthodes initCalculLive, calculLive et/ou calcul, et peut utiliser les méthodes addParamIn, addParamOut et addAffichage définies dans SimuApplet.

See Also:
Serialized Form

Nested Class Summary
(package private)  class SimuApplet.InfoWindow
           
 
Nested classes/interfaces inherited from class java.applet.Applet
java.applet.Applet.AccessibleApplet
 
Nested classes/interfaces inherited from class java.awt.Panel
java.awt.Panel.AccessibleAWTPanel
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  java.util.Vector affichages
          liste des possibilités d'affichage (Vector of Affichage)
(package private)  java.util.Vector champs
           
(package private)  java.awt.Choice chxens
           
protected  ListeValeurs ensembles
          liste des ensembles de valeurs par défaut
protected  java.util.Vector inparams
          liste des paramètres d'entrée (Vector of ParamIn)
(package private)  int noaff
           
(package private)  java.lang.String nomFichierXML
           
protected  java.util.Vector outparams
          liste des paramètres de sortie (Vector of ParamOut)
(package private)  SimuParams params
           
(package private)  java.awt.ScrollPane scrollp
           
(package private)  java.lang.String selens
           
protected  java.lang.String titreEnsembles
          titre des ensembles de valeurs
(package private)  xml.XMLTree xmlDoc
           
(package private)  TypeAffichage za
           
 
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
SimuApplet()
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Traitement des actions de l'utilisateur
 void addAffichage(Affichage p)
          ajoute une option d'affichage à la liste
 void addEnsemble(java.lang.String nom, ListeValeurs l)
          ajoute un ensemble de valeurs
 void addParamIn(ParamIn p)
          ajoute un paramètre d'entrée à la liste
 void addParamOut(ParamOut p)
          ajoute un paramètre de sortie à la liste
 void aideParam(int nop)
          Affiche l'aide pour le paramètre indiqué à partir du fichier XML.
 void appletDoc(java.lang.String nomFichier)
          Spécifie le fichier XML avec la définition des paramètres et des affichages.
 ListeValeurs calcul(ListeValeurs in)
          Calcul complet.
 ListeValeurs calculLive()
          Calcul du temps t au temps t+1.
 void changerValeurs(ListeValeurs l)
           
 TypeAffichage creationTypeAffichage(Affichage aff, boolean sousaff)
           
 void dormir(long nms)
          pour bloquer le programme pendant nms millisecondes
 java.util.Vector getAffichage()
          renvoit la liste des possibilités d'affichage (Vector of Affichage)
 Affichage getAffichage(java.lang.String label)
          renvoit l'affichage avec le label donné
 Affichage getAffichageChoisi()
          renvoit l'affichage choisi par l'utilisateur
static double getDouble(java.lang.String sd)
          renvoit le double correspondant au String
 java.util.Vector getInParams()
          renvoit la liste des paramètres d'entrée (Vector of ParamIn)
 java.util.Vector getOutParams()
          renvoit la liste des paramètres de sortie (Vector of ParamOut)
 void handleException(SimuException ex)
          Traitement d'une erreur
 void init()
          Initialisation de l'applet
 void initCalculLive(ListeValeurs in)
          Initialisation du calcul en temps réel.
 void initParams()
          Affichage de la fenêtre et appel la lecture du fichier de configuration
 void itemStateChanged(java.awt.event.ItemEvent e)
           
 Affichage lireAffichage(xml.XMLTree noeud_affichage)
          Parcours récursif des paramètres d'affichages
protected  java.lang.String lireAideParam(ParamIn param)
          Renvoit l'aide pour le paramètre indiqué à partir du fichier XML, ou null s'il n'y a pas d'aide pour ce paramètre
 ListeValeurs lireChamps()
          Lecture des champs des paramètres d'entrée
 void lireListeRefParams(xml.XMLTree noeud_affichage, Affichage affichage)
           
 void lireParametres()
          Lit les paramètres spécifiés dans le fichier XML
 void lireXML()
           
 java.awt.Panel makeInputPanel(ListeValeurs in)
          Création de la zone avec les paramètres d'entrée
 void parcourirParametreAffichage(xml.XMLTree noeud_affichage, Affichage affichage)
          Sert à lire les attributs d'un paramètre d'affichage
 void setParams()
          Cette méthode défini la sous-classe de SimuParams contenant l'algorithme de la simulation.
 void setTitreEnsembles(java.lang.String titre)
          Définit le titre des ensembles de valeurs
 void startSimu(boolean init)
          Lancement de la simulation
static java.lang.String[] titresAxes(Affichage aff, java.util.Vector outp)
          titres des axes
protected  boolean verifExistenceAide(ParamIn param)
          Vérifie l'existence de l'aide dans le ficher de configuration XML
protected  void verifParametres(Affichage aff, java.util.Vector outp)
          vérification que les paramètres de l'affichage sont tous déclarés comme ParamOut
 
Methods inherited from class java.applet.Applet
destroy, getAccessibleContext, getAppletContext, getAppletInfo, getAudioClip, getAudioClip, getCodeBase, getDocumentBase, getImage, getImage, getLocale, getParameter, getParameterInfo, isActive, newAudioClip, play, play, resize, resize, setStub, showStatus, start, stop
 
Methods inherited from class java.awt.Panel
addNotify
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, firePropertyChange, firePropertyChange, firePropertyChange, 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, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, 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, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, 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, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, 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
 

Field Detail

params

SimuParams params

champs

java.util.Vector champs

noaff

int noaff

za

TypeAffichage za

chxens

java.awt.Choice chxens

selens

java.lang.String selens

nomFichierXML

java.lang.String nomFichierXML

xmlDoc

xml.XMLTree xmlDoc

scrollp

java.awt.ScrollPane scrollp

inparams

protected java.util.Vector inparams
liste des paramètres d'entrée (Vector of ParamIn)


outparams

protected java.util.Vector outparams
liste des paramètres de sortie (Vector of ParamOut)


affichages

protected java.util.Vector affichages
liste des possibilités d'affichage (Vector of Affichage)


ensembles

protected ListeValeurs ensembles
liste des ensembles de valeurs par défaut


titreEnsembles

protected java.lang.String titreEnsembles
titre des ensembles de valeurs

Constructor Detail

SimuApplet

public SimuApplet()
Method Detail

setParams

public void setParams()
Cette méthode défini la sous-classe de SimuParams contenant l'algorithme de la simulation.


init

public void init()
Initialisation de l'applet

Overrides:
init in class java.applet.Applet

makeInputPanel

public java.awt.Panel makeInputPanel(ListeValeurs in)
Création de la zone avec les paramètres d'entrée


initParams

public void initParams()
Affichage de la fenêtre et appel la lecture du fichier de configuration


lireParametres

public void lireParametres()
Lit les paramètres spécifiés dans le fichier XML


lireAffichage

public Affichage lireAffichage(xml.XMLTree noeud_affichage)
Parcours récursif des paramètres d'affichages


lireListeRefParams

public void lireListeRefParams(xml.XMLTree noeud_affichage,
                               Affichage affichage)

parcourirParametreAffichage

public void parcourirParametreAffichage(xml.XMLTree noeud_affichage,
                                        Affichage affichage)
Sert à lire les attributs d'un paramètre d'affichage


actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Traitement des actions de l'utilisateur

Specified by:
actionPerformed in interface java.awt.event.ActionListener

changerValeurs

public void changerValeurs(ListeValeurs l)
                    throws SimuException
Throws:
SimuException

itemStateChanged

public void itemStateChanged(java.awt.event.ItemEvent e)
Specified by:
itemStateChanged in interface java.awt.event.ItemListener

handleException

public void handleException(SimuException ex)
Traitement d'une erreur


lireChamps

public ListeValeurs lireChamps()
                        throws SimuException
Lecture des champs des paramètres d'entrée

Throws:
SimuException

verifParametres

protected void verifParametres(Affichage aff,
                               java.util.Vector outp)
vérification que les paramètres de l'affichage sont tous déclarés comme ParamOut


startSimu

public void startSimu(boolean init)
Lancement de la simulation


creationTypeAffichage

public TypeAffichage creationTypeAffichage(Affichage aff,
                                           boolean sousaff)
                                    throws SimuException
Throws:
SimuException

titresAxes

public static java.lang.String[] titresAxes(Affichage aff,
                                            java.util.Vector outp)
titres des axes


lireAideParam

protected java.lang.String lireAideParam(ParamIn param)
Renvoit l'aide pour le paramètre indiqué à partir du fichier XML, ou null s'il n'y a pas d'aide pour ce paramètre


aideParam

public void aideParam(int nop)
Affiche l'aide pour le paramètre indiqué à partir du fichier XML. On suppose ici que le fichier XML est correct (le test est fait ailleurs).


verifExistenceAide

protected boolean verifExistenceAide(ParamIn param)
Vérifie l'existence de l'aide dans le ficher de configuration XML

Returns:
true si l'aide existe, false sinon

getDouble

public static double getDouble(java.lang.String sd)
renvoit le double correspondant au String


dormir

public void dormir(long nms)
pour bloquer le programme pendant nms millisecondes


getInParams

public java.util.Vector getInParams()
renvoit la liste des paramètres d'entrée (Vector of ParamIn)

Specified by:
getInParams in interface SimuParams

getOutParams

public java.util.Vector getOutParams()
renvoit la liste des paramètres de sortie (Vector of ParamOut)

Specified by:
getOutParams in interface SimuParams

getAffichage

public java.util.Vector getAffichage()
renvoit la liste des possibilités d'affichage (Vector of Affichage)

Specified by:
getAffichage in interface SimuParams

getAffichage

public Affichage getAffichage(java.lang.String label)
renvoit l'affichage avec le label donné

Specified by:
getAffichage in interface SimuParams

getAffichageChoisi

public Affichage getAffichageChoisi()
renvoit l'affichage choisi par l'utilisateur


addParamIn

public void addParamIn(ParamIn p)
ajoute un paramètre d'entrée à la liste

Specified by:
addParamIn in interface SimuParams

addParamOut

public void addParamOut(ParamOut p)
ajoute un paramètre de sortie à la liste

Specified by:
addParamOut in interface SimuParams

addAffichage

public void addAffichage(Affichage p)
ajoute une option d'affichage à la liste


addEnsemble

public void addEnsemble(java.lang.String nom,
                        ListeValeurs l)
ajoute un ensemble de valeurs

Specified by:
addEnsemble in interface SimuParams

setTitreEnsembles

public void setTitreEnsembles(java.lang.String titre)
Définit le titre des ensembles de valeurs

Specified by:
setTitreEnsembles in interface SimuParams

appletDoc

public void appletDoc(java.lang.String nomFichier)
Spécifie le fichier XML avec la définition des paramètres et des affichages.

Specified by:
appletDoc in interface SimuParams

lireXML

public void lireXML()

initCalculLive

public void initCalculLive(ListeValeurs in)
                    throws SimuException
Description copied from interface: SimuParams
Initialisation du calcul en temps réel.
En entrée: la liste des valeurs (sous forme d'objets) des paramètres d'entrée.

Specified by:
initCalculLive in interface SimuParams
Throws:
SimuException

calculLive

public ListeValeurs calculLive()
                        throws SimuException
Description copied from interface: SimuParams
Calcul du temps t au temps t+1.
En sortie: la liste des valeurs (sous forme d'objets) des paramètres de sortie, ou null si la fin du calcul est atteinte.
On peut ajouter à la liste de valeurs le paramètre "fin", qui indique suivant la valeur qu'on lui donne :

Specified by:
calculLive in interface SimuParams
Throws:
SimuException

calcul

public ListeValeurs calcul(ListeValeurs in)
                    throws SimuException
Description copied from interface: SimuParams
Calcul complet.
En entrée: la liste des valeurs (sous forme d'objets) des paramètres d'entrée.
En sortie: la liste des valeurs (sous forme d'objets) des paramètres de sortie.

Specified by:
calcul in interface SimuParams
Throws:
SimuException