2010-05-30 296 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)我们愉快的事) 。如果没有使用这种固定尺寸,我们会在执行布局时计算控件的首选尺寸。当用户调整应用程序窗口或对话框的大小时,这可以防止控件获取更多空间,具体取决于控件的内容。