3

使用 WindowBuilder for Eclipse,我创建了一个TableViewer放在复合材料中的文件。(TableViewer创建一个 SWT Table,其中TableViewer插入自身)。

我试图通过设置grabExcessHorizontalSpacegrabVerticalSpace为真使复合材料可调整大小,但是如何制作表格并TableViewer填充复合材料?

4

2 回答 2

4

我现在得到了答案,(非常感谢 irc.freenode.net 上#eclipse 频道上的 rcjsuen)。

我的代码是这样的: Composite comp = new Composite(container, SWT.NONE); comp.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, true, true, 1, 1));

我需要做的是,除了将grabExcessiveHorizo​​ntalSpace 和grabExcessiveVerticalSpace 设置为true(setLayoutData() 函数中的参数3 和4)之外,将参数1 和2 设置为SWT.FILL,并使用setLayout 添加一个FillLayout 对象() 函数,如下所示:

    Composite comp = new Composite(container, SWT.NONE);
    comp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    comp.setLayout(new FillLayout());
于 2010-12-22T14:29:53.043 回答
3

没有代码很难说,但是根据您的描述,您没有在Composite. composite.setLayout(new FillLayout());如果您的复合材料仅包含 TableViewer,请尝试添加。

如果您的复合材料有多个子级,您将需要不同的布局,例如 GridLayout 或 MigLayout。然后,您还必须在 Table 和复合材料的其他子项上设置 layoutData。

这里有一些片段,展示了如何使用 GridLayout。要学习我觉得更好的 MigLayout,请参见此处

于 2010-12-22T14:23:48.220 回答