Gestion d'une variable de classe - Java - Programmation
Marsh Posté le 02-11-2003 à 00:21:07
t'as plusieurs possibilitées ...
la plus simple et la plus souvent utilisée dans les GUI c'est de faire de ton listener une classe interne. De cette façon, elle a accès aux champs de la classe englobante :
Code :
|
Une autre solution était de passer l'instance de MaClasse en paramêtre des EcouteurChoixMenu, pour qu'ils puissent demander à MaClasse de mettre à choir sa variable choix
Marsh Posté le 02-11-2003 à 01:25:20
Yaisse ! je n'avais pas pensé à faire une classe interne à la classe Maclasse
la variable memoire est ainsi atteignable et c'est le bonheur !
merki
Marsh Posté le 02-11-2003 à 14:53:50
veryfree a écrit : il passent les accents aigue a la compilation ? |
j'avais pas vu
non, je pense pas que ca passe ...
Marsh Posté le 02-11-2003 à 15:13:20
je viens d'essayé en fait et ca semble pas poser de probleme
Marsh Posté le 02-11-2003 à 15:14:58
je crains de dire une grosse connerie, mais il compile pas en unicode le javac ?
Marsh Posté le 02-11-2003 à 15:36:11
si si, unicode, vu que les caracteres japonais passent aussi a la compile
Marsh Posté le 02-11-2003 à 15:39:35
oui ça passe
j'adore appeler mes objets de testcases avec des noms à la cons accentués
Marsh Posté le 02-11-2003 à 15:40:05
ReplyMarsh Posté le 02-11-2003 à 15:41:11
qu il est meprisant ce smiley
pire que sarcastique encore
Marsh Posté le 02-11-2003 à 15:43:33
souk a écrit : si si, unicode, vu que les caracteres japonais passent aussi a la compile |
Benou, si t'as besoin de cours de java ou juste une question, t'hesites pas a demander hein ?
Marsh Posté le 02-11-2003 à 16:00:44
ya aussi les caracteres russes et grecs qui passent ...
nan plus sérieux, c'était du mode code oversimplifié, donc explicitagementation au maximum pour que ça soit le plus compréhensible possible ... quand meme !...
Marsh Posté le 02-11-2003 à 17:49:53
je savais que le compilo supportais les caractères unicodes (y a souvent des accents dans les chaines de caractères) mais je pensais pas que c'était autorisé pour les noms de variable ...
J'imagine l'horreur avec des sources japonais
Marsh Posté le 02-11-2003 à 17:52:04
chrisbk a écrit : Benou, si t'as besoin de cours de java ou juste une question, t'hesites pas a demander hein ? |
Marsh Posté le 02-11-2003 à 18:43:18
benou a écrit : je savais que le compilo supportais les caractères unicodes (y a souvent des accents dans les chaines de caractères) mais je pensais pas que c'était autorisé pour les noms de variable ... |
je pourrai vous en poster si vous insistez
Marsh Posté le 02-11-2003 à 19:12:29
souk a écrit : |
et comment ce servir d'un code écrit avec des carctères de ce style à l'étrangé ?
Marsh Posté le 02-11-2003 à 19:26:47
ben.... je pense qu'ils le reutilisent pas a l'etranger en fait
Marsh Posté le 02-11-2003 à 19:31:13
moi j'ai eu a travaillé sur du code crée par un coreen, lorsque j ai fait un add sur un cvs , il voulait absolument que je le foute en binaire (alors que c etait du texte)
enfin le gard utilisait des variables en anglais heureusement
c'est juste la javadoc qui etait illisible...
|
Marsh Posté le 02-11-2003 à 22:43:35
Question, dans le cas où l'on décide de faire du listener une classe interne de l'interface graphique, vous préférez :
- une classe pour l'ensemble, avec un actionPerformed structuré en if else,
- n classes, une pour chaque composant, de sorte que chacun à son actionPerformed à lui.
Marsh Posté le 02-11-2003 à 22:49:43
2e solution
avec une preference pour des listeners reutilisés et pas une classe à la con de 3 ligne pour chaque foutu bouton
Marsh Posté le 02-11-2003 à 23:05:17
ReplyMarsh Posté le 02-11-2003 à 23:11:12
mais par exemple, si j'avais un groupe de qques boutons qui sont en relation, je pourrais bien vivre avec le fait d'avoir un seul listener et un pti if dedans, à voir
Marsh Posté le 01-11-2003 à 23:17:34
Bonsoir !
J'ai une appli avec un menu qui dispose différents sous-menus.
J'aimerai, quand on clique sur un sous-menu, que la variable "choix" prenne la valeur selon le sous-menu choisi.
( tout le monde suit là ?)
Je n'arrive pas à gérer le passage de variables -> quand j'ai l'actionPerformed qui est activée, je n'arrive pas à changer la variable "choix" qui est globale.
[ mode code over-simplifié on ]
class MaClasse {
String choix; //variable globale
JMenuItem menuChoix1 = new JMenuItem("Choix1" );
menuChoix1.addActionListener( new EcouteurChoixMenu("choix1" ) );
// on peut en mettre plusieurs comme ça :
JMenuItem menuChoix2 ...
menuChoix2.addActionListener ...
}
//et j'ai une classe d'écouteur :
class EcouteurChoixMenu implements ActionListener {
String choixRécupéré;
EcouteurChoixMenu(String choixEnvoyé) {
choixRécupéré = choixEnvoyé;
}
public void actionPerformed(ActionEvent e) {
// je ne sais pas
}
}
[ mode code simplifié off ]
Je pense que ça doit etre hyper simple, tellement simple que je n'arrive meme plus à savoir comment on peut faire...
---------------
dieu créa l'homme et meuh fit la vache