RCP2
2、RCP入門
(1)實(shí)現(xiàn)RCP 應(yīng)用程序的步驟
l 標(biāo)識(shí)擴(kuò)展點(diǎn)
l 定義plugin清單文件
l 實(shí)現(xiàn)擴(kuò)展
l 定義透視圖
l 定義WorkbenchAdvisor類
l 定義Application類
l 導(dǎo)出應(yīng)用程序
(2)創(chuàng)建項(xiàng)目
l File > New > Plug-in Project
l 輸入項(xiàng)目名Google,保留其它默認(rèn)值,點(diǎn)擊Next
l 在 Class Name 域中鍵入com.xqtu.google.GooglePlugin
l 點(diǎn)擊Finish完成項(xiàng)目創(chuàng)建
(3)理解插件清單
l Eclipse生成項(xiàng)目時(shí),會(huì)生成很多有關(guān)文件,其中最重要的是插件清單文件plugin.xml
l plugin.xml位于項(xiàng)目的根目錄,負(fù)責(zé)定義Eclipse運(yùn)行環(huán)境用來管理的資源、依存關(guān)系和擴(kuò)展
l Eclipse提供插件清單編輯器,其底部的每個(gè)標(biāo)簽頁(yè)提供了訪問和操作plugin.xml特定部分的簡(jiǎn)便方法
l 其中plugin.xml頁(yè)顯示plugin.xml的源文件,向?qū)ё畛跎傻牟寮鍐蔚膬?nèi)容如下
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin
id="Google"
name="Google Plug-in"
version="1.0.0"
provider-name="nelson_tu"
class="com.xqtu.google.GooglePlugin">
<runtime>
<library name="Google.jar">
<export name="*"/>
</library>
</runtime>
<requires>
<import plugin="org.eclipse.ui"/>
<import plugin="org.eclipse.core.runtime"/>
</requires>
</plugin>
l <plugin> 標(biāo)記描述插件的基本內(nèi)容,有下列 5 個(gè)屬性:
l id :插件惟一標(biāo)識(shí)符;為了減少命名沖突,應(yīng)該從插件作者的 Internet 域名得出該屬性,其命名約定和 Java 命名約定是一致的,如類的package
l name:插件一般名稱
l version —— 插件版本,格式是major.minor.service
l provider-name:插件作者
l class ——插件類全路徑;盡管定義了插件類,但 RCP 應(yīng)用程序在執(zhí)行時(shí)并不使用該類
l <plugin>部分可以在Overview頁(yè)的Genernal Information部分進(jìn)行設(shè)置
l <runtime>標(biāo)記定義了插件需要的運(yùn)行庫(kù);使用 <library> 標(biāo)記列出每個(gè)運(yùn)行庫(kù);<export>標(biāo)記指定是導(dǎo)出整個(gè)庫(kù)(使用*),還是其下具體的package(用多個(gè)<export>標(biāo)記列出)
l <runtime>部分可以在Runtime頁(yè)中進(jìn)行設(shè)置
l <requires>標(biāo)記定義對(duì)其它插件的依存關(guān)系;使用<import>標(biāo)記列出每個(gè)插件
l <requires>部分可以在Dependencies頁(yè)中進(jìn)行設(shè)置
(4)理解擴(kuò)展
l Eclipse 平臺(tái)使用相對(duì)較小的運(yùn)行環(huán)境內(nèi)核和它精致的插件體系結(jié)構(gòu)提供高度可擴(kuò)展性
l 通過使用插件將新的功能添加到運(yùn)行環(huán)境內(nèi)核
l 每個(gè)插件都可以包含任何數(shù)目使用擴(kuò)展點(diǎn)集成的擴(kuò)展
l 同樣,插件也可以定義自己的一組擴(kuò)展點(diǎn),以便其他開發(fā)人員可以在自己的插件或 RCP 應(yīng)用程序中使用
l 在本例中,我們要定義兩個(gè)擴(kuò)展
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin
id="Google"
name="Google Plug-in"
version="1.0.0"
provider-name="nelson_tu"
class="com.xqtu.google.GooglePlugin">
<runtime>
<library name="Google.jar">
<export name="*"/>
</library>
</runtime>
<requires>
<import plugin="org.eclipse.ui"/>
<import plugin="org.eclipse.core.runtime"/>
</requires>
<extension
id="GoogleApplication"
point="org.eclipse.core.runtime.applications">
<application>
<run class="com.xqtu.google.GoogleApplication"/>
</application>
</extension>
<extension
point="org.eclipse.ui.perspectives">
<perspective
class="com.xqtu.google.GooglePerspective"
name="Google"
id="com.xqtu.google.GooglePerspective"/>
</extension>
</plugin>
l 通過org.eclipse.core.runtime.applications定義第一個(gè)擴(kuò)展,這為 RCP 應(yīng)用程序聲明入口點(diǎn);id屬性標(biāo)識(shí)該應(yīng)用程序
l <run>標(biāo)記指定RCP 應(yīng)用程序啟動(dòng)類的全路徑
l 通過org.eclipse.ui.perspectives定義第二個(gè)擴(kuò)展,這為 RCP定義一個(gè)添加到通用工作臺(tái)的透視圖
l <perspective>標(biāo)記定義了透視圖類全路徑(class屬性)、透視圖名稱(name屬性)和唯一標(biāo)識(shí)(id屬性)
l <extension>部分可以在Extensions頁(yè)中進(jìn)行設(shè)置
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=79306
posted on 2006-02-06 16:55 天生我才 閱讀(194) 評(píng)論(0) 編輯 收藏 所屬分類: RCP/RIA