gpt4 book ai didi

java - Eclipse SWT 组为空

转载 作者:行者123 更新时间:2023-12-02 12:07:48 27 4
gpt4 key购买 nike

我正在做一个 Eclipse 插件,它是一个多页表单编辑器。在一页上,我希望一些数据以表格和树的形式呈现。我想将页面垂直分成两半。为了实现这一目标,我想使用组(左组,右组)。

public class UtilityPage extends FormPage {


public UtilityPage(FormEditor editor, String id, String title) {
super(editor, id, title);
// TODO Auto-generated constructor stub
}

@Override
protected void createFormContent(IManagedForm managedForm) {

ScrolledForm scrolledForm = managedForm.getForm();

FormToolkit toolkit = managedForm.getToolkit();

Composite body = scrolledForm.getBody();

GridLayout layout = new GridLayout();

body.setLayout(layout);

layout.makeColumnsEqualWidth = true;

layout.numColumns = 2;

Group leftGroup = new Group(body, SWT.SHADOW_IN);

Group rightGroup = new Group(body, SWT.SHADOW_IN);

leftGroup.setLayoutData(new GridData(GridData.FILL_BOTH));

rightGroup.setLayoutData(new GridData(GridData.FILL_BOTH));

Label testLabel = new Label(rightGroup, SWT.CENTER);

testLabel.setText("<Test>");

Label testLabel2 = new Label(leftGroup, SWT.CENTER);

testLabel2.setText("<Test>");

leftGroup.pack();

rightGroup.pack();

}

}

我的问题是,这会导致两个没有任何内容的空组。

/image/QFPTA.png

这种情况以前在我身上发生过很多次,但我总是解决它。

但是由于我不知道如何完成我想要的布局,所以我来这里询问你们是否有任何其他想法。或者如果你知道我做错了什么。

最佳答案

由于 Group 扩展了 Composite,因此您必须在组上设置布局。

类似于:

Group leftGroup = new Group(body, SWT.SHADOW_IN);

leftGroup.setLayout(new GridLayout());

Group rightGroup = new Group(body, SWT.SHADOW_IN);

rightGroup.setLayout(new GridLayout());

使用布局时,每个Composite 都应该有一个布局。这包括扩展 CompositeGroup 等类。

关于java - Eclipse SWT 组为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46770991/

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