必须要让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));
本文介绍如何通过调整GridData设置使SWT组件List中的垂直滚动条正常显示。关键在于设置GridData的grabExcessVerticalSpace属性为true,以确保List组件能够填充其父容器的所有可用垂直空间。
910

被折叠的 条评论
为什么被折叠?



