我在 SWT 中创建了一个面包屑控件,它在顶部显示一个用于搜索文件系统上的位置的栏和一个 JFace 表,使用 TableViewer 在该栏下方显示结果,即给定位置的文件夹和文件。问题是一旦将数据加载到表格中并且我尝试最大化窗口,表格就会折叠(有时完全消失),在其下方留下一个空白空间并使其自身可滚动。下面是最大化之前的图像。
这发生在最大化窗口之后。
应该做些什么来纠正这个问题?这是我创建查看器的代码。
DirectoryViewer container = new DirectoryViewer(this, SWT.BORDER|SWT.V_SCROLL|SWT.FULL_SELECTION);
GridData conData = new GridData();
conData .horizontalAlignment = SWT.FILL;
conData.verticalAlignment = SWT.FILL;
conData .grabExcessHorizontalSpace = true;
conData.grabExcessVerticalSpace = true;
conData .horizontalSpan = 3;
container.getTable().setLayoutData(conData);
以及 DirectoryViewer 的构造函数:
public DirectoryViewer(Composite parent, int style) {
super(parent, style);
Table table = getTable();
GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
gridData .horizontalSpan = 3;
table.setLayoutData(gridData);
createColumns();
table.setHeaderVisible(true);
setContentProvider(new ContentProvider());
}