必须要让GridData占满垂直方向,List的滚动条才会显示出来。
new GridData(SWT.FILL, SWT.FILL, true, true)
滚动条没有显示
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new GridLayout());
org.eclipse.swt.widgets.List list = new org.eclipse.swt.widgets.List(
shell, SWT.V_SCROLL);
//set grabExcessVerticalSpace to false
list.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
// Add a bunch of items to it
for (int i = 0; i < 100; i++) {
list.add("A list item" + i);
}
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
滚动条显示
//set grabExcessVerticalSpace to true
list.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));