最近做一个Eclipse RCP程序,设置状态栏时解决方法记录如下:
实现ContributionItem :
public class ContributionItem extends StatusLineContributionItem {
public ContributionItem(String id) {
super(id);
}
public void fill(Composite parent) {
//此处可以替换为需要的布局,容器等
CLabel label = new CLabel(parent, SWT.SHADOW_NONE);
label.setLayoutData(new StatusLineLayoutData());
label.setText("状态栏信息");
}
}
CLabel label = new CLabel(parent, SWT.SHADOW_NONE);
label.setLayoutData(new StatusLineLayoutData());
label.setText("状态栏信息");
}
}
在ActionBarAdvisor中完善如下两个方法:
protected void makeActions(final IWorkbenchWindow window) {
contributionItem = new ContributionItem("contributionI
temId");
}
protected void fillStatusLine(IStatusLineManag
er statusLine) {
super.fillStatusLine(statusLine);
contributionItem.setVisible(true);
statusLine.add(contributionItem);
}
super.fillStatusLine(statusLine);
contributionItem.setVisible(true);
statusLine.add(contributionItem);
}