版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
會(huì)計(jì)學(xué)1EclipseRCP四常用技術(shù)基礎(chǔ)知識(shí)2概要項(xiàng)目的組織結(jié)構(gòu)RCP基本框架定制應(yīng)用程序窗口定制開發(fā)平臺(tái)和目標(biāo)平臺(tái)第1頁/共21頁30新建項(xiàng)目新建項(xiàng)目,除了在新建向?qū)У摹盩emplates”一頁選擇:”RCPApplicationwithanintro”以外,其他的過程都和”快速入門”中新建項(xiàng)目過程一樣.建好項(xiàng)目后,將默認(rèn)的包名:**.**.intro改為**.**.core同時(shí)修改plugin.xml中的相關(guān)兩處,如:
第一處: <runclass="ro.Application"></run>
第二處:<perspectivename="net.zoof.kayaka.perspective"class="ro.Perspective"id="net.zoof.kayaka.perspective"></perspective>在項(xiàng)目下新建以下2個(gè)目錄:lib--存放我們將要用到的一些類庫文件icons--存放各種圖片第2頁/共21頁41項(xiàng)目的組織結(jié)構(gòu)Java源文件系統(tǒng)類庫插件依賴歡迎文字描述文件構(gòu)建屬性對(duì)文件插件配置文件啟動(dòng)圖片第3頁/共21頁52RCP基本框架Eclipse自動(dòng)生成了一個(gè)RCP項(xiàng)目所需要的5個(gè)java文件,RCP項(xiàng)目也主要是在這5個(gè)文件基礎(chǔ)上做開發(fā).深入的了解這5個(gè)文件對(duì)于RCP開發(fā)是非常有幫助的.第4頁/共21頁62.1基本概念Display應(yīng)用程序一般只需要一個(gè)Display對(duì)象,該對(duì)象實(shí)際上是一個(gè)SWT對(duì)象,代表了低層圖形系統(tǒng)的實(shí)現(xiàn).它負(fù)責(zé)從操作系統(tǒng)的事件隊(duì)列中讀取事件,傳遞給RCP的事件監(jiān)聽器以便完成具體任務(wù)。第5頁/共21頁7Shell與Shell居中Shell每個(gè)窗口都有一個(gè)Shell對(duì)象.Shell對(duì)象代表了與用戶交互的窗口框架,并處理與窗口關(guān)聯(lián)的諸如移動(dòng)、改變大小等常見行為。Shell居中:(見:代碼集錦Code1);第6頁/共21頁8WorkbenchWorkbench是工作臺(tái),通俗地說就是代表用戶界面的UI元素.工作臺(tái)上有各種窗口、圖標(biāo)、按鈕和控件,用戶執(zhí)行各種操作的主要地方。每個(gè)應(yīng)用程序只有一個(gè)Workbench。獲取方法:
IWorkbenchworkbench=PlatformUI.getWorkbench();Workbench重要的兩個(gè)方法:restart()--重新啟動(dòng)應(yīng)用程序close()–
關(guān)閉應(yīng)用程序第7頁/共21頁9AdvisorAdvisor是個(gè)通稱,主要設(shè)置用戶主界面寬度、高度、圖標(biāo)、菜單、工具欄、顏色、各類操作等等.Advisor有具體的3種類型:WorkbenchAdvisor:應(yīng)用程序級(jí)別,負(fù)責(zé)工作臺(tái)生命周期的管理,例如啟動(dòng)、關(guān)閉等。WorkbenchWindowAdvisor:窗口級(jí)別,每個(gè)窗口都有一個(gè)WorkbenchWindowAdvisor實(shí)例。該實(shí)例負(fù)責(zé)具體窗口的生命周期管理,例如:狀態(tài)欄、工具欄、菜單、標(biāo)題和各種控件等等.有點(diǎn)與SWT中的Shell類似.ActionBarAdvisor:窗口級(jí)別。每個(gè)窗口都有一個(gè)ActionBarAdvisor的實(shí)例,該實(shí)例管理窗口的菜單欄、狀態(tài)欄、工具欄的外觀和行為。第8頁/共21頁10View和Editor在RCP中,用戶主要通過視圖(View)和編輯器(Editor)來與程序交互。視圖是可以浮動(dòng)的工作窗口,負(fù)責(zé)顯示在某個(gè)層面的狀態(tài)信息。視圖擴(kuò)展自ViewPart抽象類.編輯器也是一種工作窗口,提供對(duì)數(shù)據(jù)進(jìn)行各種操作的交互能力。編輯器擴(kuò)展自EditorPart抽象類實(shí)際上,視圖和編輯器并沒有嚴(yán)格的區(qū)分。第9頁/共21頁11Perspective透視圖(Perspective)是應(yīng)用程序?qū)Υ翱趦?nèi)容進(jìn)行安排和布局的主要工具,每個(gè)應(yīng)用程序都有一個(gè)默認(rèn)的透視圖。默認(rèn)的透視圖不可移動(dòng)、不可關(guān)閉且沒有標(biāo)題欄。透視圖與視圖、編輯器之間的關(guān)系可以用書包、書和筆來形容。Eclipse為我們創(chuàng)建了一個(gè)透視圖類(Perspective),而我們只需要在這個(gè)類中定義新的透視圖即可.第10頁/共21頁122.2類文件分析Application.javaApplication相當(dāng)于Java類的main(),RCP程序的運(yùn)行總是開始于Application,它負(fù)責(zé)程序的啟動(dòng)、停止。切入點(diǎn):可以將我們需要在程序運(yùn)行之前的一些準(zhǔn)備工作(諸如數(shù)據(jù)庫啟動(dòng),網(wǎng)絡(luò)檢驗(yàn),安全驗(yàn)證等等)放在這類中.放置的地方:Displaydisplay=PlatformUI.createDisplay();try{
//數(shù)據(jù)庫啟動(dòng)
//網(wǎng)絡(luò)校驗(yàn)
//安全驗(yàn)證intreturnCode=PlatformUI.createAndRunWorkbench(display,newApplicationWorkbenchAdvisor());…….第11頁/共21頁13ApplicationWorkbenchAdvisor.java這個(gè)類負(fù)責(zé)應(yīng)用程序生命周期的管理.該類具體實(shí)現(xiàn)只是一個(gè)初始的視圖界面,還需要WorkbenchWindowAdvisor、ActionBarAdvisor配合才能構(gòu)成一個(gè)較為完整的用戶界面,其主要有五個(gè)方法:方法說明initialize在啟動(dòng)工作臺(tái)(Workbench)前進(jìn)行初始化.這個(gè)方法有只有一個(gè)參數(shù):IWorkbenchConfigurerpreStartup在初始化完成之后,打開第一個(gè)窗口之前調(diào)用,在這里可以對(duì)打開編輯器和視圖的初始化參數(shù)進(jìn)行設(shè)置.postStartup在所有窗口打開或恢復(fù)以后開始事件循環(huán)之前調(diào)用.在這里可以進(jìn)行一些類似自動(dòng)批處理的工作preShutdown在事件循環(huán)結(jié)束以后,關(guān)閉任何一個(gè)窗口之前調(diào)用postShutdown在所有窗口關(guān)閉之后,關(guān)閉工作臺(tái)(Workbench)之前調(diào)用,可以用來保存當(dāng)前應(yīng)用的狀態(tài),清理initialize方法創(chuàng)建的內(nèi)容第12頁/共21頁14ApplicationWorkbenchWindowAdvisor.java這個(gè)類負(fù)責(zé)應(yīng)用程序窗口生命起周的管理,該類控制窗口創(chuàng)建時(shí)的大小、標(biāo)題、位置等。該類主要方法:方法說明preWindowOpen窗口控件創(chuàng)建之前調(diào)用,可以在該方法中設(shè)置窗口的初始大小、狀態(tài)欄、工具欄等postWindowRestore當(dāng)窗口根據(jù)上一次的保存狀態(tài)恢復(fù)創(chuàng)建之后,打開窗口之前調(diào)用;第一次運(yùn)行以及不保存狀態(tài)下都不會(huì)調(diào)用postWindowCreate窗口創(chuàng)建之后調(diào)用,用于調(diào)整窗口postWindowOpen窗口已經(jīng)打開之后調(diào)用,可以用來注冊(cè)窗口監(jiān)聽,系統(tǒng)托盤等第13頁/共21頁15ApplicationActionBarAdvisor.java這個(gè)類負(fù)責(zé)定義窗口的行為,該類用于構(gòu)建菜單欄、工具欄和狀態(tài)欄。其主要方法:方法說明makeActions注冊(cè)菜單或者工具欄的動(dòng)作fillMenuBar填充窗口的主菜單fillCoolBar填充窗口的主工具欄fillStatusLine填充窗口的主狀態(tài)欄第14頁/共21頁16Perspective.java這個(gè)類主要負(fù)責(zé)界面布局的安排。以下是個(gè)示例:public
voidcreateInitialLayout(IPageLayoutlayout){
//編輯區(qū)不可見
layout.setEditorAreaVisible(false);
//注冊(cè)新的透視圖是個(gè)獨(dú)立的視圖及其出現(xiàn)的位置
layout.addStandaloneView(IConstants.VIEW_PROJECTLIST_ID,true,IPageLayout.LEFT,0.26f,layout.getEditorArea());
//新的透視圖不可關(guān)閉
layout.getViewLayout(IConstants.VIEW_PROJECTLIST_ID).setCloseable(false);
//不可移動(dòng)
layout.getViewLayout(IConstants.VIEW_PROJECTLIST_ID).setMoveable(false);……..第15頁/共21頁173定制應(yīng)用程序窗口閃屏圖片
自制一個(gè)24bit的BMP格式圖片,尺寸小于500mm*300mm覆蓋項(xiàng)目下原來的那個(gè)splash.bmp即可.不保存窗口狀態(tài)
每次啟動(dòng)程序都要恢復(fù)到之前關(guān)閉時(shí)的狀態(tài)會(huì)影響性能,所以要關(guān)閉掉,修改ApplicationWorkbenchAdvisor的initialize()將setSaveAndRestore(true)改為false;定制窗口式樣
修改ApplicationWorkbenchWindowAdvisor.java的preWindowOpen()方法如下:*第16頁/共21頁183定制應(yīng)用程序窗口窗口居中
繼續(xù)修改ApplicationWorkbenchWindowAdvisor的postWindowOpen()方法,利用之前寫好的shell居中代碼(Code1)將窗口居中:
Shellshell=getWindowConfigurer().getWindow().getShell();
setCenter(shell);視圖標(biāo)題欄弧線型外觀及進(jìn)度條:
修改ApplicationWorkbenchAdvisor的initialize(),加上:
PlatformUI.getPreferenceStore().setValue(IWorkbenchPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS,false);PlatformUI.getPreferenceStore().setValue(IWorkbenchPreferenceConstants.SHOW_PROGRESS_ON_STARTUP,true);第17頁/共21頁194定制目標(biāo)平臺(tái)和開發(fā)平臺(tái)開發(fā)平臺(tái)是開發(fā)RCP的基本環(huán)境(IDE).目標(biāo)平臺(tái)是應(yīng)用程序運(yùn)行的基礎(chǔ)平臺(tái).為了更好的體現(xiàn)程序運(yùn)行效果目標(biāo)平臺(tái)和開發(fā)平臺(tái)最好分離.目標(biāo)平臺(tái)需要單獨(dú)下載一個(gè)和開發(fā)平臺(tái)版本號(hào)相匹配的platform,如:
eclipse-platform-3.2.2-win32.zip
同時(shí)為了更完美的體現(xiàn)中文,還需要下載一個(gè)中文包:
NLpack1-eclipse-platform-3.2.1-win32.zip
目標(biāo)平臺(tái)安裝步驟:創(chuàng)建文件夾:d:\eclipse_platform,將eclipse-platform-3.2.2-win32.zip解壓后eclipse文件夾下全部?jī)?nèi)容復(fù)制其中.解壓語言包,將featur
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 太陽能電站道路施工合同
- 環(huán)保產(chǎn)業(yè)園施工協(xié)議
- 攝影背景租賃解除協(xié)議
- 環(huán)保監(jiān)測(cè)站聘用合同細(xì)則
- 地下安全設(shè)計(jì)引孔施工合同
- 2024年工程合同法:擔(dān)保與履約保障
- 房產(chǎn)交易糾紛調(diào)解
- 河道疏浚土石方施工協(xié)議
- 農(nóng)村別墅施工合同:施工項(xiàng)目客戶
- 印刷出產(chǎn)品技術(shù)協(xié)議管理辦法
- 質(zhì)量管理體系過程方法和風(fēng)險(xiǎn)思維專業(yè)解讀與應(yīng)用之7:5 領(lǐng)導(dǎo)作用-5.3組織的崗位、職責(zé)和權(quán)限(雷澤佳編制-2024B1)
- 地面找平專項(xiàng)施工方案
- 初三化學(xué)-水的凈化省公開課獲獎(jiǎng)?wù)n件說課比賽一等獎(jiǎng)?wù)n件
- 2024-2030年中國(guó)財(cái)稅服務(wù)行業(yè)市場(chǎng)深度調(diào)研及發(fā)展前景與投資研究報(bào)告
- 第二次月考卷-2024-2025學(xué)年統(tǒng)編版語文六年級(jí)上冊(cè)
- 申論國(guó)家公務(wù)員考試試題與參考答案
- 亂扔垃圾的課件
- 北京市房山區(qū)2023-2024學(xué)年高二上學(xué)期期中地理試題 含解析
- 期刊編輯的學(xué)術(shù)期刊版權(quán)教育與培訓(xùn)考核試卷
- SolidWorks-2020項(xiàng)目教程全套課件配套課件完整版電子教案
- 2024政務(wù)服務(wù)綜合窗口人員能力與服務(wù)規(guī)范考試試題
評(píng)論
0/150
提交評(píng)論