HFanny
Messages postés699Date d'inscriptionmercredi 19 février 2003StatutMembreDernière intervention13 mai 2011
-
7 mai 2004 à 13:07
HFanny
Messages postés699Date d'inscriptionmercredi 19 février 2003StatutMembreDernière intervention13 mai 2011
-
8 mai 2004 à 12:19
Bonjour à tous,
j'ai une question bête (car je sais que j'ai déjà fait mais je ne me souviens plus comment) :
J'ai 2 classes A et B, dans A je crée une instance de B.
Comment, à partir de B, puis-je agir sur les attributs de A ?
Exemple :
une classe A toute bête :
public class A{
public A(){super();}
private int n;
public void setN(int n){this.n=n;}
public void main(String[] args){
A a = new A();
B b = new B();
b.changeN(5);
}
}
La classe B qui voudrait changer un attribut de A :
public class B{
public B(){super();}
public void changeN(int n){
//Là je ne sais pas comment je dois faire !!!
setN(n);
}
}
En plus clair, j'ai fait un jeu (d'abord en mode console), et là j'ai créé l'interface graphique.
Et lorsque je clique sur un bouton, je souhaiterais que ça exécute ma méthode de ma classe de jeu de départ (et que celle ci modifie le contenu d'un JTextField=.
Donc je pense que j'essaye de faire n'importe quoi mais je suis complètement perdue là ... j'ai sans doute du mal m'y prendre donc si quelqu'un pouvait m'aider ... d'avance merci :)
kirua12
Messages postés1155Date d'inscriptionsamedi 17 janvier 2004StatutMembreDernière intervention29 avril 20117 7 mai 2004 à 14:42
Salut,
simple dans le constructeur de B tu passes l'instance de A que tu manipules
public class B{
private A a;
public B(A a){
this.a=a;
}
public void changeN(int n){
//Là tu fais ce que tu dois faire
setN(n);
}
}
public class A{
public A(){super();}
private int n;
public void setN(int n){this.n=n;}
public void main(String[] args){
A a = new A();
B b = new B(a);
b.changeN(5);
}
}