2010-05-30 10 views
1

J'utilise un TreeViewer dans une jungle WizardPage et l'entrée initiale dans l'arbre provoque la croissance verticale de la WizardPage afin qu'elle puisse afficher toutes les valeurs de l'arbre. Lorsque vous développez l'une des valeurs de l'arborescence, la barre de défilement verticale fonctionne comme prévu. J'aimerais pouvoir définir la taille initiale de l'arbre pour qu'il soit corrigé et que la barre de défilement soit déjà affichée lors du dessin de la page WizardPage, mais cela n'est pas particulièrement évident pour moi - la méthode setSize sur l'arbre de TreeViewer ne semble pas faire quoi que ce soit.Comment définir la taille initiale d'un TreeViewer?

Toute aide serait appréciée!

+0

quelle disposition utilisez-vous? – andyczerwonka

+0

et quelle layoutdata? – drstupid

+0

Contrôle composite = nouveau Composite (parent, SWT.NONE); control.setLayout (new GridLayout (2, false)); CheckboxTreeViewer treeViewer = new CheckboxTreeViewer (contrôle, SWT.V_SCROLL); treeViewer.getTree(). SetLayoutData (nouvelle GridData (SWT.FILL, SWT.FILL, true, false, 2, 1)); – Jeff

Répondre

0

Juste pour les dossiers pour cette vieille question:

Nous résolvons ce problème dans nos applications en utilisant un gestionnaire propre mise en page que nous pouvons définir des tailles fixes pour certains contrôles (Swing, nous avions fait à l'aide component.setPreferredSize(size)) . Si aucune taille fixe n'est utilisée, nous calculons la taille préférée du contrôle lors de l'exécution de la mise en page. Cela empêche les contrôles d'obtenir de plus en plus d'espace en fonction du contenu du contrôle lorsque l'utilisateur redimensionne la fenêtre ou la boîte de dialogue de l'application.