gpt4 book ai didi

java - 为组 SWT 设置固定大小

转载 作者:行者123 更新时间:2023-11-29 07:11:25 24 4
gpt4 key购买 nike

我有一个包含一些 Group 的页面。在组中,我放置了一些带有不同文本的标签。我希望所有组都具有相同的大小。我该怎么做? (我尝试了 setSize 函数,但它对我不起作用)。

最佳答案

下面的代码做你想做的。该技巧由两部分组成:

  • 相同宽度:父级(在此示例中为 Shell)使用 GridLayout,其中每列具有相同宽度
  • 相同高度:我们使用 GridData 告诉每个 Group 占据父级的整个高度(Shell).

public class StackExample
{
public static void main(String[] args)
{
Display display = Display.getDefault();
final Shell shell = new Shell(display);
shell.setLayout(new GridLayout(3, true));
shell.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

for(int i = 0; i < 3; i++)
{
createGroup(shell, i);
}

shell.pack();
shell.open();
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}

private static void createGroup(Shell parent, int index)
{
Group group = new Group(parent, SWT.NONE);
group.setText("Group " + index);
group.setLayout(new GridLayout(1, false));
group.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

for(int i = 0; i < index + 1; i++)
{
String text = "";
for(int j = 0; j < index + 1; j++)
{
text += "text";
}

Label label = new Label(group, SWT.NONE);
label.setText(text);
label.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false));
}
}
}

这里有两个截图:

最小尺寸:

enter image description here

增加窗口大小时:

enter image description here

关于java - 为组 SWT 设置固定大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13549402/

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