代码之家  ›  专栏  ›  技术社区  ›  solotim

在eclipsercp编程中如何将消息从处理程序类写入状态行

  •  2
  • solotim  · 技术社区  · 14 年前

    我需要更改处理程序类中的状态行消息。在阅读了RCP教程和eclipse常见问题解答之后,我最终做了如下工作:

    HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().findView(AView.ID).getViewSite().getActionBars().getStatusLineManager().setMessage( "Ha, I'm finished");
    

    多么长的召唤链啊!

    我这样做对吗?谢谢。

    1 回复  |  直到 14 年前
        1
  •  5
  •   VonC    14 年前

    the threads I see 在论坛上,这看起来是对的。

    不过,如果要将异步反馈放在该状态行中,请小心。
    this thread 例如。

    UIJob job = new UIJob() {
        public IStatus run(IProgressMonitor monitor) {
        //do the long running work here
    
        Runnable results = new Runnable() {
            public void run(){
                  // update UI elements here;
                 getViewSite().getActionBars().getStatusLineManager().
                   setMessage("End Pasting");
           }
        };
        display.asyncExec(results);
        }
    };
    job.schedule();
    

    (注意:这可能不是您的情况,但我添加此代码片段只是为了提供信息)