[ALG 2G] PrepertyChangeSupport

Voir le sujet précédent Voir le sujet suivant Aller en bas

[ALG 2G] PrepertyChangeSupport

Message  psycho le Dim 28 Oct 2007, 13:51

bonjour à tous,

Dans le TD05 il est demander de faire une petite application qui afficher deux rond et de pouvoir les inverser à l'aide d'un bouton.

Pour ce faire on doit utiliser des PropertyChangeSupport.

Si quelqu'un pouvais m'aider à comprandre comment celà fonctionne.

Pour le code qui va etre exécuté quand on presse le boutton j'ai déjà ceci:

Code:

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                       
        if(cercle2.getAllumé() == true){
            cercle2.setAllumé(false);
        }else{
            cercle2.setAllumé(true);
        }
       
        PropertyChangeSupport p = new PropertyChangeSupport(cercle2); //cercle 2 et le cercle qui est allumé quand le programme est lancé.
        PropertyChangeSupport q = new PropertyChangeSupport(cercle1);
       
        p.addPropertyChangeListener(new PropertyChangeListener() {
            public void propertyChange(PropertyChangeEvent evt) {
               
            }
        });
       
    }               

psycho

Nombre de messages : 156
Age : 32
Prénom : Ahmet
Statut : Ancien de gestion
Localisation : Machelen
Date d'inscription : 18/01/2007

Revenir en haut Aller en bas

Re: [ALG 2G] PrepertyChangeSupport

Message  KBS le Dim 28 Oct 2007, 15:31

je peux pas t'aider je suis encore bloqué a l'exo avec le bouton ON/OFF j'ai pas très bien compris comment ca marche alors quelqu'un pouvait m'aider

KBS

Nombre de messages : 8
Prénom : Soufiane
Date d'inscription : 20/11/2006

Revenir en haut Aller en bas

Re: [ALG 2G] PrepertyChangeSupport

Message  mcd le Dim 28 Oct 2007, 17:26

Alors : pour le bouton ON/OFF
- Quand on clic sur le bouton, cela génère un événement de type ActionEvent
- Il faut indiquer qu'on veut faire qqchose quand cet événement arrive, donc être un ActionListener, donc implémenter la méthode actionPerformed(). Tout ce code est généré automatiquement par Netbeans; il ne reste plus qu'à écrire l'intérieur du code, c-à-d ce qu'il faut faire quand l'événement se produit.
- Dans ce cas ci, il faut inverser l'état allumé éteint du LED

Ensuite : pour les 2 boutons
- La base est la même mais on ajoute un deuxième LED (soit LED B)
- Le LED de l'exercice précédent (soit LED A) génère un événement de type PropertyChangedEvent quand son état change
- Le LED B est à l'écoute de cela (donc est un PropertyChangedListener)
- Lorsque l'état du LED A est changé, il prévient ses écouteurs (ici le LED B)
- Quand le LED B est prévenu (et si la partie de l'état changé est la propriété allumé/éteint) alors le LED B inverse sa propre propriété éteint/allumé)

Relisez-bien le mini guide sur les javabeans pour mieux comprendre le mécanisme Smile

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: [ALG 2G] PrepertyChangeSupport

Message  psycho le Dim 28 Oct 2007, 19:06

mcd a écrit:

Ensuite : pour les 2 boutons
- La base est la même mais on ajoute un deuxième LED (soit LED B)
- Le LED de l'exercice précédent (soit LED A) génère un événement de type PropertyChangedEvent quand son état change
- Le LED B est à l'écoute de cela (donc est un PropertyChangedListener)
- Lorsque l'état du LED A est changé, il prévient ses écouteurs (ici le LED B)
- Quand le LED B est prévenu (et si la partie de l'état changé est la propriété allumé/éteint) alors le LED B inverse sa propre propriété éteint/allumé)

Relisez-bien le mini guide sur les javabeans pour mieux comprendre le mécanisme Smile

tout ca j'avais compris, je cherchais juste de l'aide pour le fonctionnement de propertychangedsupport.

psycho

Nombre de messages : 156
Age : 32
Prénom : Ahmet
Statut : Ancien de gestion
Localisation : Machelen
Date d'inscription : 18/01/2007

Revenir en haut Aller en bas

Re: [ALG 2G] PrepertyChangeSupport

Message  pbt le Lun 29 Oct 2007, 00:15

Ta question n'est pas claire ... mais bon ceci peut t'aider.
Sais-tu que JPanel est un Container et que les containers ont un PropertyChangeSupport ... ils possèdent donc, par exemple, la méthode addPropertyChangeListener qui peut t'être utile.

_________________
smartq.namok.be · faq ·  · IRC / irc.freenode.net #esi · blog.namok.be
style #pbt {heigth:189cm; weight:79kg; eye-color:#524000; hair:very short; dead pixels: some; }

pbt
Admin

Nombre de messages : 4862
Age : 45
Prénom : Pierre
Statut : prof
Localisation : La cité des géants
Date d'inscription : 24/11/2005

http://esi.namok.be

Revenir en haut Aller en bas

Re: [ALG 2G] PrepertyChangeSupport

Message  mcd le Lun 29 Oct 2007, 00:56

Soit plus précis en effet. Puisque tu as déjà lu le mini-guide et la javadoc, qu'est ce que tu n'as pas compris ?
Du code que tu donnes, je vois en tout cas ceci :

Le PropertyChangeSupport ne sert qu'à simplifier l'écriture du code permettant aux écouteurs de s'enregistrer/désenregistrer et du code permettant à l'écouté de prévenir des écouteurs. Il intervient dans l'écouté.

Comme dans tout mécanisme écouteur/écouté, l'écouteur s'enregistre auprès de l'écouté. La partie
Code:
p.addPropertyChangeListener
est donc incongrue.

Et comme le fait remarquer Pbt, si tu hérites d'un composant Swing tu as déjà les méthodes d'enregsitrement/désenregistrement; plus rien à faire de ce coté.

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: [ALG 2G] PrepertyChangeSupport

Message  Contenu sponsorisé Aujourd'hui à 07:13


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum