精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产乱人乱偷精品视频a人人澡| 美国美女黄色片| 亚洲黄色中文字幕| 国产欧美一区视频| 97se国产在线视频| 99热只有这里有精品| 日韩av自拍| 欧美精品一区二区高清在线观看| 国产精品免费成人| 国产精品扒开做爽爽爽的视频| 国产二区国产一区在线观看| 538国产精品一区二区免费视频| 国产精品久久免费观看| aaa国产精品视频| 欧美性猛交xxxx乱大交退制版| 狠狠干视频网站| 福利视频在线看| 不卡一卡二卡三乱码免费网站| 国产精品日日摸夜夜添夜夜av| 日本一级淫片免费放| 四季av在线一区二区三区| 亚洲成色999久久网站| 亚洲另类第一页| 鲁鲁在线中文| 亚洲成人免费观看| 制服丝袜综合日韩欧美| 欧美大片aaa| 成人免费高清在线| 亚洲最大av在线| 亚洲综合精品在线| 老司机精品导航| 7m第一福利500精品视频| 69av.com| 91精品国产乱码久久久久久| 亚洲人午夜精品免费| 亚洲精品中文字幕在线播放| 一区二区三区在线资源| 欧美丰满少妇xxxxx高潮对白| 黄色av免费在线播放| 男人久久天堂| 亚洲大片精品永久免费| 神马午夜伦理影院| 巨大荫蒂视频欧美另类大| 国产亚洲欧洲997久久综合 | 亚洲日本韩国在线| 欧美视频一区| 欧美精品在线观看91| 熟女av一区二区| 日韩欧美在线中字| 中文国产亚洲喷潮| 亚洲第一综合网| 狠狠操综合网| 一本色道久久88综合亚洲精品ⅰ| 黄色aaa视频| 久久爱www成人| 国产亚洲免费的视频看| 人妻av无码一区二区三区| 久久99国产精品视频| 亚洲欧洲在线播放| 91视频免费观看网站| 欧美在线色图| www.亚洲天堂| 久久国产在线视频| 狠狠入ady亚洲精品| 欧美精品久久久久久久免费观看| 国产亚洲精品久久久久久打不开| 今天的高清视频免费播放成人| 欧美激情视频在线免费观看 欧美视频免费一 | 9l视频自拍九色9l视频成人| 亚洲福利视频专区| 无套内谢大学处破女www小说| 免费电影一区二区三区| 夜夜嗨av色综合久久久综合网| 欧美丰满老妇熟乱xxxxyyy| 欧美精品一区二区三区精品| 最近日韩中文字幕中文| 欧美三级黄色大片| 亚洲小说区图片区| 奇门遁甲1982国语版免费观看高清| 亚洲av无码精品一区二区| 裸体在线国模精品偷拍| 9a蜜桃久久久久久免费| 人人九九精品| 成人免费在线播放视频| 毛片在线视频观看| 日韩脚交footjobhd| 欧美四级电影网| 亚洲av无码久久精品色欲| 日本成人中文| 久久视频免费在线播放| 日产亚洲一区二区三区| 美腿丝袜一区二区三区| 成人区精品一区二区| 国产一区精品| 亚洲黄色录像片| 男人舔女人下面高潮视频| 国产精品777777在线播放| 日韩精品中文字幕在线| 公肉吊粗大爽色翁浪妇视频| 欧美在线亚洲综合一区| 日本高清视频精品| 国产欧美一级片| 久久综合久久综合久久| 好色先生视频污| 欧美7777| 精品国产精品网麻豆系列| 在线免费观看视频| 亚洲午夜极品| 91免费高清视频| 成人午夜在线观看视频| 亚洲国产精品久久不卡毛片| 天天视频天天爽| 日韩成人av在线资源| 久久这里只有精品视频首页| 自拍偷拍18p| 99综合电影在线视频| 三年中国中文在线观看免费播放| 忘忧草在线影院两性视频| 日韩一区二区三区在线观看| 精品熟妇无码av免费久久| 在线日韩视频| 亚洲一区二区三区在线视频| 1pondo在线播放免费| 欧美午夜精品久久久久久浪潮| 中文字幕无人区二| 大片网站久久| 国产精品户外野外| 免费观看成年在线视频网站| 午夜精品久久久| 久久久国产精品久久久| 91精品国产福利在线观看麻豆| 国产剧情日韩欧美| 电影av在线| 色94色欧美sute亚洲线路二| 人妻无码一区二区三区| 在线一区视频| 久久av一区二区| 黄色在线观看www| 亚洲国产成人精品女人久久久 | 麻豆av一区二区| 国产无遮挡裸体视频在线观看| 日韩欧美一级特黄在线播放| 精品国产视频在线观看| 国产一区二区在线观看视频| 一级做a爰片久久| 欧美亚洲福利| 久久香蕉国产线看观看av| 国产又粗又大又爽视频| 国产精品每日更新| wwwwwxxxx日本| 99久久激情| 91香蕉亚洲精品| 在线观看av免费| 精品国偷自产国产一区| 精品无码人妻一区二区三区品| 国产91高潮流白浆在线麻豆| 妺妺窝人体色777777| 精品少妇一区| 欧美中文字幕精品| 粉嫩av在线播放| 777午夜精品视频在线播放| 91狠狠综合久久久| 国产风韵犹存在线视精品| 国产日本在线播放| 一道在线中文一区二区三区| 国产成人精品视| 日本在线人成| 欧美大肚乱孕交hd孕妇| 国产成人无码精品亚洲| 国产日韩欧美高清在线| 在线观看岛国av| 欧美日韩网址| 久中文字幕一区| 久久91超碰青草在哪里看| 美日韩丰满少妇在线观看| 韩国av电影在线观看| 日韩欧美在线视频日韩欧美在线视频| 色欲狠狠躁天天躁无码中文字幕 | 亚洲色图 激情小说| 狠狠色综合播放一区二区| 福利在线一区二区| 精品影片在线观看的网站| 国产综合在线观看视频| 国产福利在线免费观看| 国产亚洲精品激情久久| 99视频免费看| 日韩欧美国产网站| 中文字幕电影av| 91麻豆免费视频| 超碰人人草人人| 国产视频欧美| 中文字幕在线乱| 欧美丝袜足交| 91久久在线观看| 成人国产二区| 欧美成人免费大片| 国产在线小视频| 精品精品国产高清a毛片牛牛| 波多野结衣mp4| 亚洲成人午夜电影| 国产免费一区二区三区四区| 不卡av在线网| www.偷拍.com| 奇米888四色在线精品| 男人添女人荫蒂免费视频| 欧美wwwww| 欧美一区二区三区在线免费观看 | 成人免费直播| 欧美国产日韩一区二区三区| 福利片在线看| 国产偷国产偷亚洲清高网站| 亚洲国产一二三区| 精品视频1区2区3区| 国产成人无码精品亚洲 | 成年免费在线观看| 亚洲精品国产a| jizz日本在线播放| 97精品电影院| 大尺度在线观看| 狠狠色狠狠色综合| 天天干天天干天天干天天干天天干| 影音先锋中文字幕一区二区| 99re8这里只有精品| 不卡在线一区| 日韩av免费电影| 妖精视频一区二区三区| 精品无码久久久久久久动漫| 99ri日韩精品视频| 亚洲字幕一区二区| 成人在线啊v| 国产一区香蕉久久| 欧美一级网址| 国产精品视频免费观看www| 欧美成人黑人| 欧美一级大片在线免费观看| wwwwxxxx在线观看| 欧美激情一级欧美精品| 污视频在线看网站| 欧美美女操人视频| 超碰在线网址| 欧美成人免费va影院高清| yellow91字幕网在线| 久久综合伊人77777蜜臀| 人人干在线视频| 久久精品国产亚洲精品| 麻豆最新免费在线视频| 北条麻妃一区二区三区中文字幕| 在线观看免费高清完整| 日韩在线观看网站| 老司机精品影院| 久久深夜福利免费观看| 在线观看小视频| 久久久久久亚洲精品中文字幕| heyzo高清在线| 韩国v欧美v日本v亚洲| 91色在线看| 人人澡人人澡人人看欧美| 成人日韩精品| 成人福利在线观看| 日韩精品三级| 精品欧美国产| 国产日韩视频在线| 亚洲精品一区二区三区av| 天天综合一区| 和岳每晚弄的高潮嗷嗷叫视频| 一本久道久久综合狠狠爱| 男女曰b免费视频| 久久精品国产亚洲一区二区三区| 国产无色aaa| 成人中文字幕合集| 成年人网站免费看| 国产精品青草综合久久久久99| 国产福利视频网站| 亚洲第一福利一区| 波多野结衣黄色网址| 5858s免费视频成人| 免费成人在线看| 亚洲全黄一级网站| av网址在线看| 57pao国产精品一区| 久久青草视频| 国产综合 伊人色| 日本a级不卡| 91午夜在线观看| 日本伊人午夜精品| 精品国产aⅴ一区二区三区东京热| 99久久免费视频.com| 国产在视频线精品视频| 亚洲一级在线观看| 做爰无遮挡三级| 精品久久久久久无| 二区在线观看| 97视频在线观看免费| 色综合一区二区日本韩国亚洲| 国产精品毛片va一区二区三区| 国产一区网站| 免费的一级黄色片| 日韩高清不卡在线| 岛国av免费观看| 中文字幕中文乱码欧美一区二区| 日本一级一片免费视频| 欧美精品色一区二区三区| 四虎成人免费在线| 欧美另类极品videosbest最新版本| 激情国产在线| 51国偷自产一区二区三区的来源| 国产调教一区二区三区| 日韩黄色短视频| 九九精品视频在线看| 天天躁日日躁aaaxxⅹ| 亚洲一区二区三区四区不卡| 在线免费av网| 日韩精品欧美国产精品忘忧草| 91亚洲天堂| 国产精品一区久久| 九色精品国产蝌蚪| 狠狠干 狠狠操| 国产v综合v亚洲欧| 精品国产国产综合精品| 色婷婷国产精品综合在线观看| 日本wwwxxxx| 欧美大片免费看| 精品一区二区三区免费看| 亚洲精品高清视频| 日韩精品电影在线| 毛片网站免费观看| 欧美日韩免费看| 欧美 日韩 中文字幕| 色综合91久久精品中文字幕| 亚洲日本中文| 日本免费在线视频观看| 麻豆精品久久精品色综合| 婷婷色一区二区三区| 色综合久久88色综合天天| 日韩a在线观看| 欧美影院在线播放| 欧美一级一片| 国产精品网站免费| 97久久精品人人做人人爽50路| 国产精久久久久久| 精品对白一区国产伦| av影视在线看| 精品国产一区二区三区麻豆小说| 亚洲午夜激情在线| 国产熟女高潮一区二区三区| 午夜精品福利在线| 人妻一区二区三区| 91禁国产网站| 国产传媒欧美日韩成人精品大片| 免费日韩视频在线观看| 久久久久久夜精品精品免费| 欧美日韩综合一区二区三区| 亚洲欧洲国产伦综合| 秋霞国产精品| 尤物一区二区三区| 国产精品资源在线观看| 久久这里只有精品免费| 亚洲国产精品va在线观看黑人| 久草在线中文最新视频| 日本成人三级电影网站| 蜜桃一区二区三区四区| 亚洲 欧美 变态 另类 综合| 日韩一区二区三区在线| 1024在线看片你懂得| 狠狠色噜噜狠狠狠狠色吗综合| 午夜影院日韩| 日韩av片在线免费观看| 欧美一级搡bbbb搡bbbb| sm久久捆绑调教精品一区| 欧美极品一区二区| 麻豆精品国产传媒mv男同| 国产高潮流白浆| 亚洲的天堂在线中文字幕| 亚洲成a人片| 免费观看中文字幕| 成人免费毛片app| 91青青草视频| 欧美精品在线观看91| 首页亚洲中字| 日本中文字幕二区| 午夜精品免费在线观看| 爱久久·www| 91在线观看网站| 天堂影院一区二区| www青青草原| 亚洲天堂成人在线| 亚洲日本va| 91n.com在线观看| 亚洲午夜久久久久久久久久久| 韩国福利在线| 国产精品二区三区四区| 日韩成人伦理电影在线观看| 免费在线观看黄色av| 亚洲人成网站在线播| swag国产精品一区二区| 天天干天天综合| 欧美日韩国产激情| а√资源新版在线天堂| 日本一区高清不卡| 丁香婷婷综合网|