2010-05-30 293 views
1

我在jface WizardPage中使用了TreeViewer,並且樹中的初始輸入導致WizardPage垂直增長,以便它可以顯示樹的所有值。展開某個樹的值時,垂直滾動條按預期工作。我希望能夠最初設置樹的大小,以便它在第一次繪製時已經被修復並且滾動條已經顯示,但是這樣做對我來說並不特別明顯 - TreeViewer的樹上的setSize方法不會似乎沒有做任何事情。如何設置TreeViewer的初始大小?

任何幫助,將不勝感激!

+0

您使用哪種佈局? – andyczerwonka 2010-05-31 13:10:49

+0

和什麼layoutdata? – drstupid 2010-06-01 11:47:32

+0

複合控件=新複合(父,SWT.NONE); control.setLayout(new GridLayout(2,false)); ... CheckboxTreeViewer treeViewer = new CheckboxTreeViewer(control,SWT.V_SCROLL); ()函數返回一個新的GridData(SWT.FILL,SWT.FILL,true,false,2,1)); – Jeff 2010-06-01 13:07:50

回答

0

只是爲了記錄這個老問題:

我們通過使用自己的佈局管理器,我們可以設置某些控件固定尺寸解決我們的應用程序這個問題(與Swing使用component.setPreferredSize(size)我們愉快的事) 。如果沒有使用這種固定尺寸,我們會在執行佈局時計算控件的首選尺寸。當用戶調整應用程序窗口或對話框的大小時,這可以防止控件獲取更多空間,具體取決於控件的內容。