我在对话框中有一个复合词。我想调整对话框的大小,当对话框调整大小时,我想相应地更新复合。
如何设置复合材料的大小?
以下是我的代码片段:
protected Control createDialogArea(Composite parent) {
Composite container = (Composite) super.createDialogArea(parent);
final GridLayout gridLayout = new GridLayout();
container.setLayout(gridLayout);
final Composite composite = new Composite(container, SWT.NONE);
final GridData gridData = new GridData(GridData.FILL, GridData.FILL, false,
false);
gridData.heightHint = 300;
gridData.widthHint = 600;
composite.setLayoutData(gridData);
我在这个Composite里面有一个TableViewer。
请让我知道如何处理这个。
一定要在你创建的每个setLayout
上调用Composite
。
如果你使用GridLayout
作为复合材料的布局,可以使用GridData
来指定SWT.FILL
和'抓住额外空间':
control.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
将使控件使用所有水平空间。
control.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
将使控件在两个方向上占用所有可用空间。
注意:您必须为每个控件创建一个新的GridData
- 不要尝试在控件之间共享它们(这同样适用于布局)。
要在第一个位置重新调整对话框,请覆盖qazxsw poi:
isResizable