RCP E4状态栏很小

时间:2017-09-14 10:38:44

标签: swt rcp e4

我为e4 rcp应用程序创建了一个状态栏,但状态栏很小。

在我的Appliication.e4xmi中配置如下:

修剪窗口 - > TrimBars - >窗饰(底部) - >工具栏 - >工具控制(链接到我的StatusBar类)

链接的StatusBar类:

public class StatusBar {

private Label label;

@Inject
private IEventBroker eventBroker;
public static final String STATUSBAR = "statusbar";

@Inject
@Optional
public void getEvent(@UIEventTopic(STATUSBAR) String message) {
    updateInterface(message);
}

@PostConstruct
public void createControls(Composite parent) {
    label = new Label(parent, SWT.LEFT);
    label.setBackground(parent.getBackground());
}

public void updateInterface(String message) {
    try {
        Display.getDefault().asyncExec(new Runnable() {
            @Override
            public void run() {
                try {
                    label.setText(message);
                } catch (Exception e) {
                    logger.error(e.fillInStackTrace());
                }
            }
        });
    } catch (Exception exception) {
        logger.error(exception.fillInStackTrace());
    }
}

View of the Statusbar

1 个答案:

答案 0 :(得分:1)

Toolbar您不需要ToolControl。将ToolControl作为Trim Bar的直接子项。

将标签放在复合材料中以使其正确铺设:

@PostConstruct
public void createGui(final Composite parent)
{
  Composite body = new Composite(parent, SWT.NONE);

  body.setLayout(new GridLayout());

  Label label = new Label(body, SWT.LEFT);

  label.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));

   ....
}

您可能还想在e4xmi中的ToolControl定义中指定stretch的标记值,以使控件使用修剪栏中的所有可用水平空间。