2010-03-29 34 views

回答

2

只需添加SWT.H_SCROLL | SWT.V_SCROLL作为构造第二个参数,即

ListViewer v = new ListViewer(shell, SWT.H_SCROLL | SWT.V_SCROLL); 

Here是一个片段 - 调整外壳必须足够小,你会得到滚动条。

+0

感谢the.duckman,这可以解决。 ListViewer JavaDoc也说这是ListViewer的默认样式(H_SCROLL,V_SCROLL,BORDER和MULTI)。 但它只适用于FillLayout而不适用于RowLayout或GridLayout!你知道这个的任何原因,以及如何使其工作? – 2010-03-29 22:48:28

+0

很难说没有代码。它应该适用于任何布局,正确使用布局。 – 2010-03-30 12:10:14

+2

@ Gabriel Parenza - 如果RowLayout或GridLayout的子项没有正确定义LayoutData,则父级组合不能正确调整ListViewer的大小,因此它不知道滚动条应该出现。你可以通过在布局之后打印ListViewer的界限来看到这一点 - 它将具有比可见区域更大的边界。尝试使用SWT.FILL设置GridData,并在使用GridLayout时展开。另外,如果.duckman的回答是正确的,你应该接受它! – wsorenson 2010-03-31 01:57:01