OVH Cloud OVH Cloud

associer une variable à un composant swing

4 réponses
Avatar
Jean-Marie
bonjour

je cherche un moyen simple pour associer une variable
à un composant swing de manière à ne travailler que sur la variable
et d'éviter à chaque nouveau composant swing de faire le transfert
variable -> swing (lors de l'affichage) et swing -> variable (lors de la
validation),
cette variable pouvant être de type élémentaire (int par exemple)

qn as-t'il un exemple ?

merci d'avance

Jean-Marie

4 réponses

Avatar
Pierre Maurette
bonjour

je cherche un moyen simple pour associer une variable
à un composant swing de manière à ne travailler que sur la variable
et d'éviter à chaque nouveau composant swing de faire le transfert
variable -> swing (lors de l'affichage) et swing -> variable (lors de la
validation),
cette variable pouvant être de type élémentaire (int par exemple)

qn as-t'il un exemple ?


Je vais sans doute écrire une connerie. Je ne comprends pas très bien
votre question, ou alors c'est tout simple. Vous dérivez votre swing et
lui ajoutez la variable :

public class MonBouton
extends JButton {
private int MaVariable = 50;// Par défaut

public MonBouton(int i) {
MaVariable = i;
}

public MonBouton() {

}
/* etc. */
}

Vous pouvez ajouter pleins de trucs, par exemple dans le constructeur
sans argument un truc comme:

MaVariable = (ClasseAppelante)this.getParent().getVariable();

et dans le code de validation :

(ClasseAppelante)this.getParent().setVariable(MaVariable);

Mais ce n'est sans doute pas votre problème. Précisez peut-être ?

--
Pierre Maurette

Avatar
Jean-Claude Arbaut
Pierre Maurette wrote:

bonjour

je cherche un moyen simple pour associer une variable
à un composant swing de manière à ne travailler que sur la variable
et d'éviter à chaque nouveau composant swing de faire le transfert
variable -> swing (lors de l'affichage) et swing -> variable (lors de la
validation),
cette variable pouvant être de type élémentaire (int par exemple)

qn as-t'il un exemple ?




Vous pouvez ajouter pleins de trucs, par exemple dans le constructeur
sans argument un truc comme:

MaVariable = (ClasseAppelante)this.getParent().getVariable();

et dans le code de validation :

(ClasseAppelante)this.getParent().setVariable(MaVariable);

Mais ce n'est sans doute pas votre problème. Précisez peut-être ?


Si j'ai bien compris, il voudrait un composant qui se rafraichit
quand on change la valeur d'une variable, et réciproquement.
A part des fonctions set/get, je ne vois pas comment faire.


Avatar
Pierre Maurette
(supersedes )

bonjour

je cherche un moyen simple pour associer une variable
à un composant swing de manière à ne travailler que sur la variable
et d'éviter à chaque nouveau composant swing de faire le transfert
variable -> swing (lors de l'affichage) et swing -> variable (lors de la
validation),
cette variable pouvant être de type élémentaire (int par exemple)

qn as-t'il un exemple ?


[correction, manquait sans doute des parenthèses]

Je vais sans doute écrire une connerie. Je ne comprends pas très bien
votre question, ou alors c'est tout simple. Vous dérivez votre swing et
lui ajoutez la variable :

public class MonBouton
extends JButton {
private int MaVariable = 50;// Par défaut

public MonBouton(int i) {
MaVariable = i;
}

public MonBouton() {

}
/* etc. */
}

Vous pouvez ajouter pleins de trucs, par exemple dans le constructeur
sans argument un truc comme:

MaVariable = ((ClasseAppelante)this.getParent()).getVariable();

et dans le code de validation :

((ClasseAppelante)this.getParent()).setVariable(MaVariable);

Mais ce n'est sans doute pas votre problème. Précisez peut-être ?

--
Pierre Maurette

Avatar
Insitu
Pierre Maurette writes:

je cherche un moyen simple pour associer une variable
à un composant swing de manière à ne travailler que sur la variable
et d'éviter à chaque nouveau composant swing de faire le transfert
variable -> swing (lors de l'affichage) et swing -> variable (lors de la
validation),
cette variable pouvant être de type élémentaire (int par exemple)

qn as-t'il un exemple ?



voir peut-etre du coté de java.beans. C"est normalement fait pour ça,
en particulier les mécanismes de propertyChangeListener.

insitu.