Bonjour,
J'ai un petit soucis avec mes Composite SWT. Je possède 2 Composites superposés grâce à un StackLayout(). Le premier me permet de sélectionner un élément dans un tableau et le second me permet de visualiser les détails de cet éléments suite à un double-click.
Tout fonctionne bien la première fois : Je double-click sur l'élément A dans le tableau et le secons Composite m'affiche les détails de A. Mais quand je reviens dans le tableau de sélection et que je double-click sur B, le second Composite reste sur A (alors qu'en débug il met bien les labels avec l'élément B).
Bref, je n'arrive pas à rafraichir mon Composite.
Voici le code qui gère l'affichage :
Ma méthode setSruToDisplay est censée mettre à jour les labels avec les détails de l'objet passé en paramètres (this.mainLabel = new Label...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public void displaySruDetailView(SRU sruToDisplay) { if(this.sruDetailsView == null) { this.sruDetailsView = new SruDetailsViewForm(this.righComposite, sruToDisplay); } else { this.sruDetailsView.setSruToDisplay(sruToDisplay, true); } ((StackLayout)this.righComposite.getLayout()).topControl = this.sruDetailsView; this.sruDetailsView.openForm(); this.righComposite.layout(); }
Pour info this.sruDetailsView hérite de Composite.
Bref je ne vois pas comment mettre à jour l'affichage de mon Composite sans en créer un nouveau à chaque fois. J'ai essayé Layout(), Redraw() etc... et rien.
Merci d'avance pour vos réponses.
Partager