[HELP] final et inner class
Le
yvon.thoravalNO-SPAM
J'ai un problème pour ajouter un Listener à un bouton, l'event handler
de ce bouton ajoutant lui-même un bouton identique avec le même
listener, je ne sais comment me sortire de ce tracas
le code, schématiquement (c'est du swt) :
final Group c2 = new Group(dialog, SWT.NULL);
[]
final Button add = new Button(c2, SWT.PUSH);
add.setText("+");
final Listener addListener = new Listener() {
public void handleEvent(Event e) {
[]
final Button add = new Button(c2, SWT.PUSH);
add.setText("+");
add.addListener(SWT.Selection, addListener);
[]
}
};
add.addListener(SWT.Selection, addListener);
Eclipse me dit que la variable locale "addListener" peut ne pas avoir
été initialisée (quel toupet))) !
Je ne peux pas redéfinir "addListener" dans cette sous-classe because of
récursivité.
Comment puis-je me sortir de là ?
--
yt
de ce bouton ajoutant lui-même un bouton identique avec le même
listener, je ne sais comment me sortire de ce tracas
le code, schématiquement (c'est du swt) :
final Group c2 = new Group(dialog, SWT.NULL);
[]
final Button add = new Button(c2, SWT.PUSH);
add.setText("+");
final Listener addListener = new Listener() {
public void handleEvent(Event e) {
[]
final Button add = new Button(c2, SWT.PUSH);
add.setText("+");
add.addListener(SWT.Selection, addListener);
[]
}
};
add.addListener(SWT.Selection, addListener);
Eclipse me dit que la variable locale "addListener" peut ne pas avoir
été initialisée (quel toupet))) !
Je ne peux pas redéfinir "addListener" dans cette sous-classe because of
récursivité.
Comment puis-je me sortir de là ?
--
yt

Poser une question


<tentative>
private Button objTempButton = null;
private void setTempButton(Button objButtonP) {
objTempButton = objButtonP;
}
setTempButton(add);
objTempButton.addListener(SWT.Selection,addListener);
</tentative>
En cas de plusieurs Buttons, utiliser un tableau.
Cedric
oui, merci, il faut aabsolument que je limite le nombre possible de
boutons...
--
yt
remplace addListener par 'this', ça devrait marcher.
pourquoi utilises-tu tout ces 'final' ?
Seb
entre-temps je suis passé à une solution où je n'ajoute + de button +,
mais c'est moins élégant, on ne peut guère, après coup, que supprimer
les derniers trucs entrés...
Les autres résultent d'un "bête" copier coller de ce qu'il y a + haut
)))
Je dois dire que justement ce matin j'ai cherché sur le net un tuto
expliquant, clairement si poss, à quoi sert ce final et quand
l'utiliser, mais je n'ai pas, encore, trouvé qqc de suffisamment
éclairant pour ma comprenotte...
--
yt
OK, merci encore, ça ma permis de passer de ce design :
à celui-ci :
reste à peaufiner les Combos un peu étriquées...
--
yt