J'ai une classe qui recupere par la RS232 des données et les range dans
un buffer.
Comment creer mon propre event pour signaler que les données attendues
sont bien arrivées ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MERIGON Olivier
Il faut suffit de faire un systeme de event/listener. Voila un exemple sur un petit simulateur d'architecture de composants que j'avais fait . On ecoutait la "ParteControle" qui change apres chaque top horloge. la fonction "fireMicroPcChangeEvent()" notifie les écouteurs. Pour être notifié on s'enregistre avec "addMicroPcChangeListener()" avec comme paramètre un inner class anonyme qui implémente "MicroPcChangeListener " comme ceci:
-------------------------------------------------------------------- partCont.addMicroPcChangeListener( new MicroPcChangeListener() { public void onChange(MicroPcChangeEvent evt) { repaint(); }});
/** * Une classe d'evenemnt de changement de microPc * @author MERIGON Olivier * @version 1.0 */ public class MicroPcChangeEvent extends EventObject { public MicroPcChangeEvent(Object source) { super(source); } }
/** * La partie controle d'une architecture. * @author MERIGON Olivier * @version 1.0 */ public class PartieControle {
/** les ecouteurs du chemin de données */ private Vector listeners = null;
/** * Envoie la micro instruction courante au chemin et passe * au prochaine etat. */ public void topHorloge() { setChanged(); updateMicroPc(); //microPc change... fireMicroPcChangeEvent(new MicroPcChangeEvent(this)); }
/** renvoie le vecteur des Ecouteurs */ private Vector getListeners() { if (listeners == null) listeners = new Vector(); return listeners; }
/** Envoie l'evenement au ecouteurs */ private void fireMicroPcChangeEvent(MicroPcChangeEvent evt) { for(int i = 0; i < getListeners().size(); i++) ((MicroPcChangeListener) getListeners().elementAt(i)).onChange(evt); }
/** AJoute un ecouteur au chemin de données */ public void addMicroPcChangeListener(MicroPcChangeListener list) { getListeners().addElement(list); }
/** Enleve l'ecouteur au chemin de donnée */ public void removeMicroPcChangeListener (MicroPcChangeListener list) { getListeners().removeElement(list); }
}
"daniel" a écrit dans le message de news: 4034f361$0$22403$
Bonjour,
J'ai une classe qui recupere par la RS232 des données et les range dans un buffer. Comment creer mon propre event pour signaler que les données attendues sont bien arrivées ?
merci d'avance
Il faut suffit de faire un systeme de event/listener. Voila un exemple sur
un petit simulateur d'architecture de composants que j'avais fait . On
ecoutait la "ParteControle" qui change apres chaque top horloge. la fonction
"fireMicroPcChangeEvent()" notifie les écouteurs. Pour être notifié on
s'enregistre avec "addMicroPcChangeListener()" avec comme paramètre un inner
class anonyme qui implémente "MicroPcChangeListener " comme ceci:
--------------------------------------------------------------------
partCont.addMicroPcChangeListener(
new MicroPcChangeListener() {
public void onChange(MicroPcChangeEvent evt) {
repaint();
}});
/**
* Une classe d'evenemnt de changement de microPc
* @author MERIGON Olivier
* @version 1.0
*/
public class MicroPcChangeEvent extends EventObject {
public MicroPcChangeEvent(Object source) {
super(source);
}
}
/**
* La partie controle d'une architecture.
* @author MERIGON Olivier
* @version 1.0
*/
public class PartieControle {
/** les ecouteurs du chemin de données */
private Vector listeners = null;
/**
* Envoie la micro instruction courante au chemin et passe
* au prochaine etat.
*/
public void topHorloge() {
setChanged();
updateMicroPc();
//microPc change...
fireMicroPcChangeEvent(new MicroPcChangeEvent(this));
}
/** renvoie le vecteur des Ecouteurs */
private Vector getListeners() {
if (listeners == null)
listeners = new Vector();
return listeners;
}
/** Envoie l'evenement au ecouteurs */
private void fireMicroPcChangeEvent(MicroPcChangeEvent evt) {
for(int i = 0; i < getListeners().size(); i++)
((MicroPcChangeListener)
getListeners().elementAt(i)).onChange(evt);
}
/** AJoute un ecouteur au chemin de données */
public void addMicroPcChangeListener(MicroPcChangeListener list) {
getListeners().addElement(list);
}
/** Enleve l'ecouteur au chemin de donnée */
public void removeMicroPcChangeListener (MicroPcChangeListener list)
{
getListeners().removeElement(list);
}
}
"daniel" <daniel@free.fr> a écrit dans le message de news:
4034f361$0$22403$626a14ce@news.free.fr...
Bonjour,
J'ai une classe qui recupere par la RS232 des données et les range dans
un buffer.
Comment creer mon propre event pour signaler que les données attendues
sont bien arrivées ?
Il faut suffit de faire un systeme de event/listener. Voila un exemple sur un petit simulateur d'architecture de composants que j'avais fait . On ecoutait la "ParteControle" qui change apres chaque top horloge. la fonction "fireMicroPcChangeEvent()" notifie les écouteurs. Pour être notifié on s'enregistre avec "addMicroPcChangeListener()" avec comme paramètre un inner class anonyme qui implémente "MicroPcChangeListener " comme ceci:
-------------------------------------------------------------------- partCont.addMicroPcChangeListener( new MicroPcChangeListener() { public void onChange(MicroPcChangeEvent evt) { repaint(); }});
/** * Une classe d'evenemnt de changement de microPc * @author MERIGON Olivier * @version 1.0 */ public class MicroPcChangeEvent extends EventObject { public MicroPcChangeEvent(Object source) { super(source); } }
/** * La partie controle d'une architecture. * @author MERIGON Olivier * @version 1.0 */ public class PartieControle {
/** les ecouteurs du chemin de données */ private Vector listeners = null;
/** * Envoie la micro instruction courante au chemin et passe * au prochaine etat. */ public void topHorloge() { setChanged(); updateMicroPc(); //microPc change... fireMicroPcChangeEvent(new MicroPcChangeEvent(this)); }
/** renvoie le vecteur des Ecouteurs */ private Vector getListeners() { if (listeners == null) listeners = new Vector(); return listeners; }
/** Envoie l'evenement au ecouteurs */ private void fireMicroPcChangeEvent(MicroPcChangeEvent evt) { for(int i = 0; i < getListeners().size(); i++) ((MicroPcChangeListener) getListeners().elementAt(i)).onChange(evt); }
/** AJoute un ecouteur au chemin de données */ public void addMicroPcChangeListener(MicroPcChangeListener list) { getListeners().addElement(list); }
/** Enleve l'ecouteur au chemin de donnée */ public void removeMicroPcChangeListener (MicroPcChangeListener list) { getListeners().removeElement(list); }
}
"daniel" a écrit dans le message de news: 4034f361$0$22403$
Bonjour,
J'ai une classe qui recupere par la RS232 des données et les range dans un buffer. Comment creer mon propre event pour signaler que les données attendues sont bien arrivées ?
merci d'avance
Mielmonster
salut,
tu peux regarder du cote du design pattern observateur
"daniel" a écrit dans le message de news:4034f361$0$22403$
Bonjour,
J'ai une classe qui recupere par la RS232 des données et les range dans un buffer. Comment creer mon propre event pour signaler que les données attendues sont bien arrivées ?
merci d'avance
salut,
tu peux regarder du cote du design pattern observateur
"daniel" <daniel@free.fr> a écrit dans le message de
news:4034f361$0$22403$626a14ce@news.free.fr...
Bonjour,
J'ai une classe qui recupere par la RS232 des données et les range dans
un buffer.
Comment creer mon propre event pour signaler que les données attendues
sont bien arrivées ?
"daniel" a écrit dans le message de news:4034f361$0$22403$
Bonjour,
J'ai une classe qui recupere par la RS232 des données et les range dans un buffer. Comment creer mon propre event pour signaler que les données attendues sont bien arrivées ?