精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

深入淺出Eclipse RCP(1):Hello RCP

開發 后端
Eclipse RCP(Rich Client Platform)允許開發者使用Eclipse架構設計靈活的、可擴展的、美觀的應用程序。本系列希望通過層層深入的介紹,一步一步帶您進入Eclipse RCP的玄妙世界。
第一個RCP程序

打開Eclipse,新建一個Plug-in Project,點擊Next。在Project name文本框中輸入項目名稱net.kirin.rcp.hello,如下圖所示。

新建Plug-in Project

點擊Next,如下圖所示,在“Would you like to create a rich client application?”后面選中Yes。其余均可保留默認值。

保留默認值

點擊Next,選擇Hello RCP模板。

Hello RCP模板

點擊Next,打開如下對話框,各項均可保留默認值。

保留默認值

點擊Finish,將創建結構如下的項目。

點擊Finish

雙擊MANIFEST.MF文件,將打開一個名為Overview的界面,點擊Launch an Eclipse application,

Overview界面

結果如下圖所示。

結果

這就是我們的第一個RCP程序。當然,我們沒有寫一行代碼,完全是Hello RCP模板自動為我們創建的。

代碼解析

可以看到,RCP模板自動為我們創建了Application.java、ApplicationActionBarAdvisor.java、ApplicationWorkbenchAdvisor.java、ApplicationWorkbenchWindowAdvisor.java、Perspective.java這5個類。下面我們對這5個類進行逐一分析。

Application類

在普通的Java程序中,總有一個main()方法作為應用程序的入口點。而RCP程序的入口點則是Application類。打開Application.java文件,可以看到該類實現了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();
    }
}

run()方法為IPlatformRunnable接口所定義的方法,在RCP程序啟動時,會首先執行該方法。Application首先創建一個Display對象, 然后調用PlatformUI.createAndRunWorkbench()方法創建并啟動工作臺,這將打開應用程序主窗口,并使該窗口處于持續打開狀態。應用程序開始處理用戶的鼠標單擊、鼠標移動、按鍵等各種事件,直到用戶關閉程序退出,這就是所謂的事件循環。當然,在關閉之前,必須用display.dispose()銷毀Display對象以釋放資源。

ApplicationWorkbenchAdvisor類

在PlatformUI.createAndRunWorkbench()方法中,還傳入了一個新建的ApplicationWorkbenchAdvisor對象。它類負責應用程序生命周期管理,它繼承自WorkbenchAdvisor類。開發人員可以在該類中實現程序啟動或者關閉時的某種處理。該類的具體實現只是給用戶一個初始的視圖界面而已,還需要配合WorkbenchWindowAdvisor、ActionBarAdvisor才能構成一個較為完整的用戶界面。

打開ApplicationWorkbenchAdvisor.java文件,代碼如下:

public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {

    private static final String PERSPECTIVE_ID = "net.kirin.rcp.hello.perspective";

    public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
        return new ApplicationWorkbenchWindowAdvisor(configurer);
    }

    public String getInitialWindowPerspectiveId() {
        return PERSPECTIVE_ID;
    }
}

createWorkbenchWindowAdvisor()方法初始化在主界面顯示的透視圖,并返回ApplicationWorkbenchWindowAdvisor對象。

ApplicationWorkbenchAdvisor還包含一些比較重要的方法:

  • initialize:最先調用。在窗口打開之前調用,可以用來處理初始化配置工作。
  • preStartup:initialize之后、第一個窗口打開之前調用,可以用來處理臨時或者可選處理工作。
  • postStartup:第一個窗口打開之后但啟動事件循環之前調用,可以用來進行那些需要自動處理的工作,例如彈出一個提示窗口。
  • preShutdown:事件循環結束之后但窗口關閉之前調用,可以用來進行保存數據、關閉數據庫服務器等處理工作。
  • postShutdown:窗口關閉之后調用,可以用來進行保存應用程序狀態、清除initialize創建的對象等處理工作。

ApplicationWorkbenchWindowAdvisor類

在ApplicationWorkbenchAdvisor類中創建了一個ApplicationWorkbenchWindowAdvisor對象。它主要負責窗口生命周期的管理,例如狀態欄、工具欄、菜單、窗口標題、窗口大小和各種控件等等,也可以處理窗口的各種事件例程。其主要代碼如下:

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");
    }
}

preWindowOpen()方法在窗口控件創建之前調用,用來配置窗口,如設置窗口大小、工具欄、狀態欄和標題等。createActionBarAdvisor創建了一個ApplicationActionBarAdvisor對象。

其它比較重要的方法還包括:

  • postWindowRestore:當窗口根據上一次的保存狀態恢復創建之后調用,可以用來調整調整窗口恢復狀態。
  • postWindowCreate:窗口創建之后調用,可以用于調整窗口。
  • postWindowOpen:窗口已經打開之后調用,可以用來注冊窗口監聽,例如在此方法中實現系統托盤。

ApplicationActionBarAdvisor類

ApplicationActionBarAdvisor主要負責管理窗口的菜單欄、狀態欄、工具欄的外觀和行為。其主要代碼如下:

public class ApplicationActionBarAdvisor extends ActionBarAdvisor {

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

    protected void makeActions(IWorkbenchWindow window) {
    }

    protected void fillMenuBar(IMenuManager menuBar) {
    }
    
}

makeActions()方法用來注冊菜單或工具欄的動作。fillMenuBar()方法用來添加菜單欄。

其它比較重要的方法還包括:

  • fillCoolBar:添加工具欄
  • fillStatusLine:添加狀態欄

Perspective類

Perspective類主要負責界面布局的安排,其代碼如下:

public class Perspective implements IPerspectiveFactory {

    public void createInitialLayout(IPageLayout layout) {
    }
}

createInitialLayout()方法通常用于創建初始的界面布局。

小結

本篇作為《深入淺出Eclipse RCP》系列的開篇,介紹了如何使用Hello RCP模板創建最簡單的RCP程序,并對自動生成的5個類進行了解析。如果您是RCP的初學者,也許會對本文中出現的一些概念改到困惑。沒有關系,我將在接下來的隨筆中介紹RPC的基本架構以及Workbench、Action、Perspective等概念。

【編輯推薦】

  1. Eclipse自動補全增強
  2. Ubuntu安裝Eclipse-SDK-3.3小結
  3. Eclipse亂碼解決辦法
  4. Windows下安裝JDK Tomcat Eclipse配置詳解
  5. 用SketchUp和Eclipse進行3-D建模(1)
責任編輯:book05 來源: cnblogs
相關推薦

2021-03-16 08:54:35

AQSAbstractQueJava

2011-07-04 10:39:57

Web

2012-02-07 14:37:01

Android核心組件Service

2017-07-02 18:04:53

塊加密算法AES算法

2019-01-07 15:29:07

HadoopYarn架構調度器

2021-07-20 15:20:02

FlatBuffers阿里云Java

2012-05-21 10:06:26

FrameworkCocoa

2022-09-26 09:01:15

語言數據JavaScript

2019-11-11 14:51:19

Java數據結構Properties

2009-11-30 16:46:29

學習Linux

2022-11-09 08:06:15

GreatSQLMGR模式

2021-04-27 08:54:43

ConcurrentH數據結構JDK8

2018-11-09 16:24:25

物聯網云計算云系統

2009-11-18 13:30:37

Oracle Sequ

2022-10-31 09:00:24

Promise數組參數

2012-02-21 13:55:45

JavaScript

2022-12-02 09:13:28

SeataAT模式

2019-12-04 10:13:58

Kubernetes存儲Docker

2022-01-11 07:52:22

CSS 技巧代碼重構

2025-03-27 09:38:35

點贊
收藏

51CTO技術棧公眾號

成人中文字幕在线播放| 97中文在线观看| 亚洲天堂网av在线| 午夜久久av| 色婷婷精品久久二区二区蜜臀av | 中文字幕二区三区| 91av精品| 亚洲伦理中文字幕| 999热精品视频| 性欧美gay| 一级特黄大欧美久久久| 日韩.欧美.亚洲| www.亚洲黄色| 琪琪一区二区三区| 性视频1819p久久| 最新一区二区三区| 国产精品亚洲二区| 亚洲精品大尺度| 国产大片一区二区三区| 欧美亚洲韩国| 亚洲成a人片在线观看中文| 天天久久人人| 青青久在线视频| 国产成人午夜视频| 国产精品视频一| 黄色一级片免费在线观看| 91精品国产福利在线观看麻豆| 亚洲久久久久久久久久| 性猛交╳xxx乱大交| 欧美视频第一| 91久久精品国产91性色tv| 国产3p露脸普通话对白| 一二三四区在线观看| 中文字幕在线视频一区| 欧美一区国产一区| 日韩资源在线| 99这里都是精品| 高清视频在线观看一区| 国产高清不卡视频| 国产一区二区在线视频| 成人激情视频在线播放| 中文字幕乱码中文字幕| 销魂美女一区二区三区视频在线| 久久免费精品视频| 久久免费公开视频| 最新国产精品久久久| 色偷偷888欧美精品久久久| 手机看片福利视频| 国产综合久久久| 一二美女精品欧洲| 国产综合精品久久久久成人av| 国产精品亚洲片在线播放| 亚洲男人天堂2019| 中文字幕 自拍| 欧洲激情综合| 中文欧美日本在线资源| 国产一二三四区在线| 成人激情诱惑| 色av中文字幕一区| 九九这里只有精品视频| 午夜精品一区二区三区国产| 操人视频在线观看欧美| 久久久精品美女| 欧洲黄色一级视频| 超碰91在线观看| 欧美日韩国内自拍| 久久精品99国产| **欧美日韩在线观看| 在线免费观看日本欧美| 人人干人人干人人| 精品中文在线| 精品久久久久久亚洲综合网| 亚洲香蕉中文网| 特黄特色欧美大片| 亚洲性生活视频| 日韩在线不卡av| 欧美不卡一区| 欧美一区视频在线| 中文字幕av片| 国产成人日日夜夜| 国模精品娜娜一二三区| 经典三级在线| 亚洲欧美色综合| 国产免费黄色小视频| 亚洲国产成人二区| 欧美日本一区二区在线观看| 午夜福利123| 偷拍一区二区| www.久久撸.com| 日本免费一二三区| 日韩成人免费在线| 97超碰人人模人人爽人人看| 偷拍25位美女撒尿视频在线观看| 中文字幕免费一区| 男人天堂av片| av一区在线播放| 日韩欧美电影在线| 久久美女免费视频| 亚洲色图88| 欧美亚洲视频在线观看| 97人妻一区二区精品免费视频 | 亚洲欧美激情一区二区三区| 偷拍视屏一区| 免费不卡欧美自拍视频| 天海翼一区二区| 精油按摩中文字幕久久| 精品1区2区| 国产乱色在线观看| 在线免费观看日本欧美| 国产 xxxx| 欧美成人一区二免费视频软件| 浅井舞香一区二区| 亚洲免费成人在线| 国产精品精品国产色婷婷| 国产老熟妇精品观看| 91麻豆精品| 在线日韩av观看| 国产精品suv一区| 成人网页在线观看| 小泽玛利亚av在线| 国产精品麻豆成人av电影艾秋| 亚洲电影在线看| 麻豆91精品91久久久| 蜜桃一区二区三区在线| 看高清中日韩色视频| 福利成人导航| 精品日韩在线观看| 国产免费美女视频| 轻轻草成人在线| 欧洲精品码一区二区三区免费看| av在线视屏| 日韩欧美aaaaaa| 国产女人18水真多毛片18精品| 秋霞电影一区二区| 日本免费一区二区三区| 美女福利一区二区| 日韩精品免费在线播放| 日韩毛片在线视频| 成人av电影免费在线播放| 成人手机在线播放| 欧美9999| 欧美成在线观看| 精品国产一级片| 亚洲伦理在线精品| 天天干天天曰天天操| 性欧美69xoxoxoxo| 成人做爰www免费看视频网站| 色网站在线看| 欧美日韩国产一二三| 一级片黄色录像| 美女视频网站黄色亚洲| 亚洲精品一区二区三| 成人av集中营| 久久九九热免费视频| 国产精品欧美激情在线| 最近日韩中文字幕| 最新中文字幕日本| 99精品免费| 热re99久久精品国产99热| 欧美福利在线播放| 色综久久综合桃花网| 亚洲图片在线播放| 一区二区中文字幕在线| 免费国偷自产拍精品视频| 伊人青青综合网| 国产精品18毛片一区二区| av影片在线| 亚洲天堂av高清| 亚洲综合精品在线| 夜夜嗨av一区二区三区中文字幕| 国产免费无码一区二区| 99精品国产一区二区青青牛奶 | 色综合久久综合| aaaaa级少妇高潮大片免费看| 性8sex亚洲区入口| 亚洲欧美99| 日本在线一区二区三区| 午夜精品久久久久久久99热浪潮| 天堂av网在线| 欧美日韩成人高清| 18精品爽视频在线观看| 91蝌蚪porny成人天涯| 另类小说第一页| 中文字幕一区二区三区乱码图片 | 国产精品91av| 午夜在线视频一区二区区别| 一区二区三区不卡在线| 99久久香蕉| 日韩免费av片在线观看| 欧美jizzhd69巨大| 亚洲国产第一页| 夜夜狠狠擅视频| 五月激情综合婷婷| 91久久久久久久久久久久久久| 成人涩涩免费视频| 亚洲黄色av网址| 伊人久久亚洲热| 中文字幕乱码一区二区三区| 欧美激情15p| 成人免费网站在线观看| 日本在线影院| 欧美精品一区在线播放| 国内av一区二区三区| 91精品国产综合久久久久| 亚洲黄色免费观看| 亚洲一区二区三区视频在线播放| 亚洲欧洲久久久| 国产丶欧美丶日本不卡视频| 久久午夜夜伦鲁鲁一区二区| 国产精品vip| 在线播放 亚洲| 欧美伦理在线视频| 韩国一区二区三区美女美女秀 | 欧美日韩dvd在线观看| 中日韩黄色大片| 一区二区在线观看免费| 国产免费嫩草影院| www精品美女久久久tv| 久久久久无码精品| 国内精品视频一区二区三区八戒| 50路60路老熟妇啪啪| 国产精品www994| 精品一区二区三区毛片| 人人狠狠综合久久亚洲婷| 女同一区二区| 日韩高清成人在线| 国产日韩一区欧美| 99久久婷婷国产综合精品青牛牛| 91久久国产精品91久久性色| 91看片一区| 国产成人av网址| 日本不良网站在线观看| 性欧美办公室18xxxxhd| 欧洲一区二区三区| 久久91精品国产91久久跳| 久操视频在线免费播放| 伊人激情综合网| 福利视频在线播放| 亚洲品质视频自拍网| 亚洲三级黄色片| 亚洲精品自拍视频| 日本免费一区二区三区最新| 亚洲韩国日本中文字幕| 少妇高潮一区二区三区99小说| 欧美大片一区二区三区| 精品人妻一区二区三区换脸明星| 69av一区二区三区| 国产免费av观看| 日韩一区二区三区三四区视频在线观看| 国产又粗又大又爽视频| 欧美日韩亚洲综合在线| 亚洲一级特黄毛片| 欧美另类一区二区三区| 国产一区二区三区四区视频| 欧美久久一二三四区| 97人妻人人澡人人爽人人精品 | 综合亚洲视频| 91精品一区二区三区四区| 忘忧草精品久久久久久久高清| 日本xxx免费| 亚洲片区在线| 干日本少妇首页| 视频一区二区三区入口| 在线看的黄色网址| 国产在线精品国自产拍免费| 黑人无套内谢中国美女| 91丝袜美腿高跟国产极品老师 | 精品av中文字幕在线毛片| 尤物yw午夜国产精品视频明星| 最新av网站在线观看| 久久天堂av综合合色| 久久av色综合| 日本精品久久久| 国内欧美日韩| 国产免费一区| 精品一区二区三区中文字幕老牛| 在线视频不卡国产| 在线看片欧美| 一区二区三区视频网| 国产91综合一区在线观看| 国产三级国产精品| 亚洲三级电影网站| 欧产日产国产69| 欧美丰满少妇xxxbbb| 秋霞av鲁丝片一区二区| 国产亚洲精品91在线| av网站网址在线观看| 欧美一区亚洲一区| 成年永久一区二区三区免费视频| 国产区一区二区| 日韩中文在线电影| 高清欧美精品xxxxx| 日本欧美在线观看| 中文在线观看免费视频| 国产精品美女www爽爽爽| 国产精品7777| 69堂国产成人免费视频| 日韩毛片在线一区二区毛片| 久久精品中文字幕| 成人影院大全| 国产高清自拍一区| 婷婷亚洲最大| 日韩在线第三页| 不卡的av中国片| 日本高清一二三区| 91成人免费在线视频| 日韩在线视频第一页| 久久精品久久久久久国产 免费| 麻豆视频在线观看免费网站黄| 亚洲bt天天射| 不卡日本视频| 国产精品免费观看久久| 国产成人超碰人人澡人人澡| 少妇太紧太爽又黄又硬又爽小说| 黄色一区二区在线观看| 性生交生活影碟片| 日韩网站在线观看| 性高爱久久久久久久久| 国产精品久久波多野结衣| 亚洲色图国产| www.99r| 国产日韩精品久久久| 日韩特级黄色片| 亚洲第一区第二区| 国产白丝在线观看| 99久久国产免费免费| 欧美xxxx中国| 第四色婷婷基地| 国产欧美一区二区精品久导航| 99热只有这里有精品| 欧美精品一区二区在线观看| 在线不卡日本v二区707| 亚洲自拍在线观看| 一本到12不卡视频在线dvd| 亚洲免费看av| 中文字幕av不卡| 亚洲天堂网在线观看视频| 在线观看日韩欧美| 四虎4545www精品视频| 日产国产精品精品a∨| 美女国产一区| 精品少妇人妻一区二区黑料社区 | 国产调教视频一区| 久久青青草原亚洲av无码麻豆| 精品亚洲夜色av98在线观看| 日韩伦理精品| 久久久久久久久久久久久久一区 | 日本不卡在线| 成人黄色免费看| 亚洲一级淫片| 日本人妻一区二区三区| 亚洲妇女屁股眼交7| 黑人操亚洲女人| 奇米成人av国产一区二区三区| 国产成人精品三级高清久久91| 狠狠操精品视频| 国产精品久久久久一区| 一级片aaaa| 久久久久久久影院| 亚洲a级精品| 蜜桃免费在线视频| 亚洲免费观看高清完整版在线观看熊| 国产日本精品视频| 久久久亚洲福利精品午夜| 首页亚洲中字| 91制片厂毛片| 一区二区高清免费观看影视大全 | 91一区二区在线| 五月天婷婷导航| 色婷婷综合成人av| 亚洲图色一区二区三区| 无码播放一区二区三区| 国产日产精品一区| 国产精品一区二区三区在线免费观看 | 亚洲AV无码国产成人久久| 在线观看日韩av先锋影音电影院| √天堂资源地址在线官网| 亚洲自拍偷拍在线| 午夜在线视频观看日韩17c| 在线视频这里只有精品| 欧美大胆一级视频| 美女日韩欧美| 第九区2中文字幕| 久久一区二区视频| 国产欧美熟妇另类久久久| 98精品国产高清在线xxxx天堂| 激情五月综合网| 中文字幕99页| 一本大道av伊人久久综合| 国产最新在线| 欧美污视频久久久| 国产suv精品一区二区883| 69视频免费看| 欧美精品少妇videofree| 少妇一区二区视频| 国产xxx在线观看| 欧美色欧美亚洲另类二区| 99热99re6国产在线播放| 亚洲区一区二区三区| 99国产欧美久久久精品|