Java 调整对话框大小时如何调整对话框中的子对象
我在一个对话框中有一个合成图。 我想调整对话框的大小,当对话框调整大小时,我想相应地更新组合 如何设置组合的大小 下面是我的代码片段:Java 调整对话框大小时如何调整对话框中的子对象,java,swt,eclipse-rcp,jface,Java,Swt,Eclipse Rcp,Jface,我在一个对话框中有一个合成图。 我想调整对话框的大小,当对话框调整大小时,我想相应地更新组合 如何设置组合的大小 下面是我的代码片段: protected Control createDialogArea(Composite parent) { Composite container = (Composite) super.createDialogArea(parent); final GridLayout gridLayout = new GridLayout(); container.set
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);
我在这张合成图里面有一个TableViewer
请让我知道如何处理此问题。请确保在创建的每个合成上调用setLayout
如果将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-不要尝试在控件之间共享它们,这同样适用于布局
要首先使对话框可调整大小,请执行以下操作:
@Override
protected boolean isResizable()
{
return true;
}