gpt4 book ai didi

java - 组 SWT 与复合 SWT?

转载 作者:行者123 更新时间:2023-12-01 18:30:12 25 4
gpt4 key购买 nike

除了外观之外,组控制和复合之间有什么区别?我可以将容器放入组内吗?如果是,我必须使用什么布局?我尝试将容器放置在组内,但容器内的控件未显示。

Group grp= new Group(container, SWT.NONE);
grp.setText("XYZ");
grp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
Conatiner cnt = new Container(grp, SWT.NONE);
cnt.setLayout(new GridLayout(4,true));
cnt.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));
Text text = new Text(cnt,SWT.LEFT);

最佳答案

Group 扩展了Composite。这意味着它们都可以有子元素。两者都可以放置在另一个内部。您的问题似乎是由于您的 Group 没有 Layout 引起的。仅将 Layout 设置为 Composite 是不够的。

这是一个最小的例子:

public static void main(String[] args)
{
final Display display = new Display();
final Shell shell = new Shell(display);
shell.setText("StackOverflow");
shell.setLayout(new GridLayout(1, false));

Group group = new Group(shell, SWT.NONE);
group.setText("Group");
group.setLayout(new GridLayout(1, false));

Composite composite = new Composite(group, SWT.NONE);
composite.setLayout(new GridLayout(2, true));

new Label(composite, SWT.NONE).setText("left");
new Label(composite, SWT.NONE).setText("right");

shell.pack();
shell.open();

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

关于java - 组 SWT 与复合 SWT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24541800/

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