rcp學習筆記(-)-----程序框架

下面是一些rcp(Rich Client Platform) 程序的說明筆記本,記下來免的以後又忘了.關於如何在Eclipse裏面建立rcp程序嚮導, 這兒是一篇不錯的翻譯教程.


1.  Application 作用和一般java程序裏面的主類一樣,它是一個rcp程序的入口點.必須實現 IPlatformRunnable 接口.即實現run()方法.

在這而run()方法和main()方法作用一樣.

2. rcp程序不必全是UI程序,可以是非圖形程序.

3. rcp程序幾個類:  application <= ApplicationWorkbenchAdvisor <== ApplicationWorkbenchWindowAdvisor ==  Perspective

 ==ApplicationActionBarAdvisor == xxxPlugin

4.代碼示例如下:

org.eclipsercp.hyperbola/Application
public class Application implements IPlatformRunnable {
  public Object run(Object args) throws Exception {
    Display display = PlatformUI.createDisplay();
    try {
      int returnCode = PlatformUI.createAndRunWorkbench(
          display, new ApplicationWorkbenchAdvisor());
      if (returnCode == PlatformUI.RETURN_RESTART) {
        return IPlatformRunnable.EXIT_RESTART;
      return IPlatformRunnable.EXIT_OK;
    } finally {
      display.dispose();
    }
  }
}

* Display 在這個類裏面生成,PlatformUI類裏面全是static方法,主要是生成Workbench和訪問Workbench.

*  new ApplicationWorkbenchAdvisor() 這個方法引出下面一個類 ApplicationWorkbenchAdvisor(),

5.

public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {

    private static final String PERSPECTIVE_ID = "rcphello.perspective";

    public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {

        return new ApplicationWorkbenchWindowAdvisor(configurer);
    }

    public String getInitialWindowPerspectiveId() {

        return PERSPECTIVE_ID;
    }
}

說明: return new ApplicationWorkbenchWindowAdvisor(configurer) 生成ApplicationWorkbenchWindowAdvisor.

     *  初始化getInitialWindowPerspectiveId() .

6.
  public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {

    public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
        super(configurer);
    }

    public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
        return new ApplicationActionBarAdvisor(configurer);
    }
   
    public void preWindowOpen() {
        IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
        configurer.setInitialSize(new Point(400, 300));
        configurer.setShowCoolBar(false);
        configurer.setShowStatusLine(false);
        configurer.setTitle("Hello RCP");
    }
}

說明:  生成 new ApplicationActionBarAdvisor(configurer); 另外preWindowOpen() 裏面做了好多設置界面的工作.比如是否顯示

工具欄,狀態欄...,

7.
 public class ApplicationActionBarAdvisor extends ActionBarAdvisor {

    public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
        super(configurer);
    }

    protected void makeActions(IWorkbenchWindow window) {
    }

    protected void fillMenuBar(IMenuManager menuBar) {
    }
   
}

說明: 

    定義程序裏面的動作.加到菜單和工具欄.快捷鍵...上.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章