Acceder à un object qui se trouve dans une autre classe
Bonjour,
je croyais avoir reglé un problème en rajoutant des "static" à des objets que j'avais crée pour pouvoir y acceder librement à travers une autre classe mais je me suis rendu compte qu'en fermant la fenetre en question, si je la reouvrais, les deux elements en question n'avait pas varié... vous allez me dire que c'est normal certes... :?
je voulais savoir quelles sont les diverses méthodes, pour que lorsque l'on a 2 classes (eventuellement 2 jframe), à partir d'une action sur l'une, on puisse engendrer une modification (dans mon cas un repaint) sur un ou plusieurs composants de l'autre.
J'avais pensé au static, mais ce n'est apparemment pas viable et je ne vois pas comment faire, merci pour votre aide.
Re: Acceder à un object qui se trouve dans une autre classe
Salut,
Citation:
Envoyé par ceres02
je croyais avoir reglé un problème en rajoutant des "static" à des objets que j'avais crée pour pouvoir y acceder librement à travers une autre classe mais je me suis rendu compte qu'en fermant la fenetre en question, si je la reouvrais, les deux elements en question n'avait pas varié... vous allez me dire que c'est normal certes... :?
Il vaut éviter d'utiliser directement des éléments statiques à tout bout de champs, car cela n'est pas très "propre" du point de vu POO...
Citation:
Envoyé par ceres02
je voulais savoir quelles sont les diverses méthodes, pour que lorsque l'on a 2 classes (eventuellement 2 jframe), à partir d'une action sur l'une, on puisse engendrer une modification (dans mon cas un repaint) sur un ou plusieurs composants de l'autre.
Le plus simple est de passer la référence du second objet à ton premier via une méthode mutateur :
Code:
1 2 3 4 5
| private JFrame secondaryFrame = null;
public void setSecondaryFrame(JFrame frame) {
this.secondaryFrame = frame;
} |
Sinon si ton action correspond à un "événément", tu peux te créer ton propre listener (voir la FAQ pour plus de détail sur ce point : Comment créer son propre Listener ?)
a++