J'ai une classe View (extends ViewPart
) qui contient un ScrolledForm
créé à partir d'un FormToolkit
. Lorsque certains événements se produisent dans d'autres vues de l'application, je souhaite modifier le formulaire dans cette vue et le mettre à jour en temps réel pour l'utilisateur.Comment mettre à jour une vue à partir du code dans une application Eclipse RCP
Je reçois du soutien de soutien au changement de la propriété ajoutée et la méthode suivante dans la vue
public void propertyChange(PropertyChangeEvent event) {
form.dispose();
toolkit.dispose();
createForm(event);
form.redraw();
}
où createForm(event)
recrée la forme en fonction de l'événement.
Le problème est que l'interface utilisateur n'affiche pas le nouveau formulaire après cela. Je sais que le formulaire est créé correctement car si je fais glisser la bordure entre la vue et une autre vue pour la redimensionner, la vue est immédiatement mise à jour pour afficher le nouveau formulaire. Comment puis-je forcer par programmation l'actualisation de la vue dans l'interface utilisateur?
Merci! votre hypothèse était correcte à propos du parent est correct. L'appel de refusion seule n'a pas fonctionné, mais l'appel à layout (true) sur le parent a résolu le problème. – Alb