Java de l'aide sur PropertyChangeSupport.

Fermé
Twub - 12 févr. 2008 à 17:00
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 13 févr. 2008 à 16:14
Salut,
Je viens vous demander votre aide pour un petit programme en java, mais le problème que j'ai concerne le PropertyChangeSupport.
Le probleme c'est que lorsque je fais le firePropertyChange sa ne me fais pas le lien avec le 1.java et donc ne fais pas le System.out.println("OUHOU").

Pour vous aider je vais vous donner la syntaxe qui peut vous interressez:

1.java:
class 1 extends JPanel implements PropertyChangeListener{
  
	public void propertyChange(PropertyChangeEvent e){
		System.out.println("OUHOU");
	}
}


2.java

public class 2 extends ZoneGraphique implements MouseListener
{
        private PropertyChangeSupport changement;

        private void modifier(){

	         int A= retCarre();		
                 changement.firePropertyChange("clic",B,A); //le programme peut conciderer le changement maitenant les calculs effectués
	  }
		
	private int retCarre(){
	       //des calculs 
	       blabla
               return unEntier
        }
	
	public void mouseClicked(MouseEvent e){
		int bouton=e.getButton();
		if(bouton==MouseEvent.BUTTON1){
		modifier();
		}

       }
	
	public void mousePressed(MouseEvent e){} ////////////////////////
	public void mouseReleased(MouseEvent e){} //////  PAS ///////////
	public void mouseEntered(MouseEvent e){} //// NECESSAIRE //////
	public void mouseExited(MouseEvent e){} ////////////////////////
	
	public void addPropertyChangeListener(PropertyChangeListener p){
		if(p instanceof GereTirage) changement.addPropertyChangeListener(p);
		else super.addPropertyChangeListener(p);
	}
	
	public void removePropertyChangeListener(PropertyChangeListener p){
		if(p instanceof GereTirage) changement.removePropertyChangeListener(p);
		else super.removePropertyChangeListener(p);
	}

}
A voir également:

3 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
13 févr. 2008 à 16:14
Salut,

As-tu fais les liaisons nécessaires ? Je peux pas vraiment te dire vu que les classes ne sont pas complètes.
Voici un lien qui t'explique :
http://www.u-picardie.fr/~ferment/java/chap25_c.html

Cordialement
1
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
12 févr. 2008 à 18:08
Salut,
Je te corrige juste 1.java, je pense pas que le 2.java soit fini ;)

Tout d'abord 1 est une classe incorrecte. Renomme ton fichier en D1.java par exemple, et tu fais class D1 etc.
Sinon, tu as oublié d'importer : import javax.swing.JPanel; et import java.bean.*;

Cordialement
0
Re xD,
Non ne t'inquiète pas j'ai bien mis tout les imports et les noms sont des noms d'exemples (C'est plus simple ;) ), j'ai viré tout ce qui n'avait aucun rapport avec mon problème dans les 2 classes.

Je veux bien mettre ses 2 classes entières mais il faudrait que je rajoute alors toutes les classes du logiciel pour que vous puissiez faire un lien... mais sa compliquerais tout... ^^

J'ai simplifier mon code pour vous montrer les petites parties qui parle du PropertyChange.

PArceque je ne comprend vraiment pas pourquoi il n'y a pas de lien entre
changement.firePropertyChange("clic",B,A);
et
public void propertyChange(PropertyChangeEvent e){
		System.out.println("OUHOU");
	}


Merci de m'aider ;)


Twub
0