Bonjour à tous,
je me pose une question... j'ai le cas suivant :
Ma classe étend CellEditor qui contient une méthode abstraite createControl.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 public class DateTextCellEditor extends CellEditor { /** composant calendar */ private CalendarCombo calendar = null; //private CalendarCombo calendar; /* ça fonctionne sans l'initialisation */ public DateTextCellEditor(final Composite composite) { super(composite); // appelle createControl // initialise les attributs (calendar ici) } @Override protected Control createControl(final Composite parent) { calendar = (calendar == null ? calendar = new CalendarCombo(parent, SWT.NONE) : calendar); return calendar; } //........ }
Le problème est que cette méthode est appelée quand je fais le super(composite) ... donc mon attribut calendar est intialisé, puis après le super les attributs de la classe sont réinitialisés ! donc calendar revient à null...
Tout fonctionne en n'initialisant pas l'attribut à null, mais ce comportement me semble étrange... bug peut être ? les attributs ne devraient ils pas être initialisés avant l'appel à super() pour éviter ce genre de pb ?...
Merci d'avance,
jojodu31
Partager