试了好久终于能显示时间,但是程序依然报错,不知什么原因。
public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
super(configurer);
}
protected void makeActions(IWorkbenchWindow window) {
}
protected void fillMenuBar(IMenuManager menuBar) {
}
@Override
protected void fillCoolBar(ICoolBarManager coolBar)
{
}
protected void fillTrayItem(IMenuManager trayItem)
{
trayItem.add(aboutAction);
trayItem.add(new Separator());
trayItem.add(exitAction);
}
@Override
protected void fillStatusLine(IStatusLineManager statusLine) {
super.fillStatusLine(statusLine);
// 定义StatusLineContributionItem对象
final StatusLineContributionItem statusItem_2 =
new StatusLineContributionItem("");
// 获取进度监视器,并在状态栏显示
statusLine.getProgressMonitor();
// 设置状态栏文本
new Thread() {
public void run() {
while (true) {
setTimeStatus();
try {
Thread.sleep(1000);
} catch (Throwable e2)
{} //停一秒
}
}
private void setTimeStatus() {
Display display = Display.getDefault();
display.asyncExec(new Runnable() {
public void run() {
statusItem_2.setText(DateTime.getCurrentTime2());
});
}
}.start();
//将statusItem注册到statusLine
statusLine.add(statusItem_2);
}
}