gpt4 book ai didi

java - 调整对话框大小时如何调整对话框内子项的大小

转载 作者:行者123 更新时间:2023-12-02 10:51:12 26 4
gpt4 key购买 nike

我在对话框中有一个组合。我想调整对话框的大小,当对话框调整大小时,我想相应地更新组合。

如何设置组合的大小调整?

下面是我的代码片段:

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。

请告诉我如何处理这个问题。

最佳答案

请务必对您创建的每个 Composite 调用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 - 不要尝试在控件之间共享它们(这同样适用于布局)。

要首先使对话框可调整大小,请覆盖 isResizes:

@Override
protected boolean isResizable()
{
return true;
}

关于java - 调整对话框大小时如何调整对话框内子项的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52167757/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com