我为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());
}
}
答案 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
的标记值,以使控件使用修剪栏中的所有可用水平空间。