




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
會計學1EclipseRCP四常用技術基礎知識2概要項目的組織結構RCP基本框架定制應用程序窗口定制開發(fā)平臺和目標平臺第1頁/共21頁30新建項目新建項目,除了在新建向導的”Templates”一頁選擇:”RCPApplicationwithanintro”以外,其他的過程都和”快速入門”中新建項目過程一樣.建好項目后,將默認的包名:**.**.intro改為**.**.core同時修改plugin.xml中的相關兩處,如:
第一處: <runclass="ro.Application"></run>
第二處:<perspectivename="net.zoof.kayaka.perspective"class="ro.Perspective"id="net.zoof.kayaka.perspective"></perspective>在項目下新建以下2個目錄:lib--存放我們將要用到的一些類庫文件icons--存放各種圖片第2頁/共21頁41項目的組織結構Java源文件系統(tǒng)類庫插件依賴歡迎文字描述文件構建屬性對文件插件配置文件啟動圖片第3頁/共21頁52RCP基本框架Eclipse自動生成了一個RCP項目所需要的5個java文件,RCP項目也主要是在這5個文件基礎上做開發(fā).深入的了解這5個文件對于RCP開發(fā)是非常有幫助的.第4頁/共21頁62.1基本概念Display應用程序一般只需要一個Display對象,該對象實際上是一個SWT對象,代表了低層圖形系統(tǒng)的實現(xiàn).它負責從操作系統(tǒng)的事件隊列中讀取事件,傳遞給RCP的事件監(jiān)聽器以便完成具體任務。第5頁/共21頁7Shell與Shell居中Shell每個窗口都有一個Shell對象.Shell對象代表了與用戶交互的窗口框架,并處理與窗口關聯(lián)的諸如移動、改變大小等常見行為。Shell居中:(見:代碼集錦Code1);第6頁/共21頁8WorkbenchWorkbench是工作臺,通俗地說就是代表用戶界面的UI元素.工作臺上有各種窗口、圖標、按鈕和控件,用戶執(zhí)行各種操作的主要地方。每個應用程序只有一個Workbench。獲取方法:
IWorkbenchworkbench=PlatformUI.getWorkbench();Workbench重要的兩個方法:restart()--重新啟動應用程序close()–
關閉應用程序第7頁/共21頁9AdvisorAdvisor是個通稱,主要設置用戶主界面寬度、高度、圖標、菜單、工具欄、顏色、各類操作等等.Advisor有具體的3種類型:WorkbenchAdvisor:應用程序級別,負責工作臺生命周期的管理,例如啟動、關閉等。WorkbenchWindowAdvisor:窗口級別,每個窗口都有一個WorkbenchWindowAdvisor實例。該實例負責具體窗口的生命周期管理,例如:狀態(tài)欄、工具欄、菜單、標題和各種控件等等.有點與SWT中的Shell類似.ActionBarAdvisor:窗口級別。每個窗口都有一個ActionBarAdvisor的實例,該實例管理窗口的菜單欄、狀態(tài)欄、工具欄的外觀和行為。第8頁/共21頁10View和Editor在RCP中,用戶主要通過視圖(View)和編輯器(Editor)來與程序交互。視圖是可以浮動的工作窗口,負責顯示在某個層面的狀態(tài)信息。視圖擴展自ViewPart抽象類.編輯器也是一種工作窗口,提供對數(shù)據(jù)進行各種操作的交互能力。編輯器擴展自EditorPart抽象類實際上,視圖和編輯器并沒有嚴格的區(qū)分。第9頁/共21頁11Perspective透視圖(Perspective)是應用程序對窗口內(nèi)容進行安排和布局的主要工具,每個應用程序都有一個默認的透視圖。默認的透視圖不可移動、不可關閉且沒有標題欄。透視圖與視圖、編輯器之間的關系可以用書包、書和筆來形容。Eclipse為我們創(chuàng)建了一個透視圖類(Perspective),而我們只需要在這個類中定義新的透視圖即可.第10頁/共21頁122.2類文件分析Application.javaApplication相當于Java類的main(),RCP程序的運行總是開始于Application,它負責程序的啟動、停止。切入點:可以將我們需要在程序運行之前的一些準備工作(諸如數(shù)據(jù)庫啟動,網(wǎng)絡檢驗,安全驗證等等)放在這類中.放置的地方:Displaydisplay=PlatformUI.createDisplay();try{
//數(shù)據(jù)庫啟動
//網(wǎng)絡校驗
//安全驗證intreturnCode=PlatformUI.createAndRunWorkbench(display,newApplicationWorkbenchAdvisor());…….第11頁/共21頁13ApplicationWorkbenchAdvisor.java這個類負責應用程序生命周期的管理.該類具體實現(xiàn)只是一個初始的視圖界面,還需要WorkbenchWindowAdvisor、ActionBarAdvisor配合才能構成一個較為完整的用戶界面,其主要有五個方法:方法說明initialize在啟動工作臺(Workbench)前進行初始化.這個方法有只有一個參數(shù):IWorkbenchConfigurerpreStartup在初始化完成之后,打開第一個窗口之前調(diào)用,在這里可以對打開編輯器和視圖的初始化參數(shù)進行設置.postStartup在所有窗口打開或恢復以后開始事件循環(huán)之前調(diào)用.在這里可以進行一些類似自動批處理的工作preShutdown在事件循環(huán)結束以后,關閉任何一個窗口之前調(diào)用postShutdown在所有窗口關閉之后,關閉工作臺(Workbench)之前調(diào)用,可以用來保存當前應用的狀態(tài),清理initialize方法創(chuàng)建的內(nèi)容第12頁/共21頁14ApplicationWorkbenchWindowAdvisor.java這個類負責應用程序窗口生命起周的管理,該類控制窗口創(chuàng)建時的大小、標題、位置等。該類主要方法:方法說明preWindowOpen窗口控件創(chuàng)建之前調(diào)用,可以在該方法中設置窗口的初始大小、狀態(tài)欄、工具欄等postWindowRestore當窗口根據(jù)上一次的保存狀態(tài)恢復創(chuàng)建之后,打開窗口之前調(diào)用;第一次運行以及不保存狀態(tài)下都不會調(diào)用postWindowCreate窗口創(chuàng)建之后調(diào)用,用于調(diào)整窗口postWindowOpen窗口已經(jīng)打開之后調(diào)用,可以用來注冊窗口監(jiān)聽,系統(tǒng)托盤等第13頁/共21頁15ApplicationActionBarAdvisor.java這個類負責定義窗口的行為,該類用于構建菜單欄、工具欄和狀態(tài)欄。其主要方法:方法說明makeActions注冊菜單或者工具欄的動作fillMenuBar填充窗口的主菜單fillCoolBar填充窗口的主工具欄fillStatusLine填充窗口的主狀態(tài)欄第14頁/共21頁16Perspective.java這個類主要負責界面布局的安排。以下是個示例:public
voidcreateInitialLayout(IPageLayoutlayout){
//編輯區(qū)不可見
layout.setEditorAreaVisible(false);
//注冊新的透視圖是個獨立的視圖及其出現(xiàn)的位置
layout.addStandaloneView(IConstants.VIEW_PROJECTLIST_ID,true,IPageLayout.LEFT,0.26f,layout.getEditorArea());
//新的透視圖不可關閉
layout.getViewLayout(IConstants.VIEW_PROJECTLIST_ID).setCloseable(false);
//不可移動
layout.getViewLayout(IConstants.VIEW_PROJECTLIST_ID).setMoveable(false);……..第15頁/共21頁173定制應用程序窗口閃屏圖片
自制一個24bit的BMP格式圖片,尺寸小于500mm*300mm覆蓋項目下原來的那個splash.bmp即可.不保存窗口狀態(tài)
每次啟動程序都要恢復到之前關閉時的狀態(tài)會影響性能,所以要關閉掉,修改ApplicationWorkbenchAdvisor的initialize()將setSaveAndRestore(true)改為false;定制窗口式樣
修改ApplicationWorkbenchWindowAdvisor.java的preWindowOpen()方法如下:*第16頁/共21頁183定制應用程序窗口窗口居中
繼續(xù)修改ApplicationWorkbenchWindowAdvisor的postWindowOpen()方法,利用之前寫好的shell居中代碼(Code1)將窗口居中:
Shellshell=getWindowConfigurer().getWindow().getShell();
setCenter(shell);視圖標題欄弧線型外觀及進度條:
修改ApplicationWorkbenchAdvisor的initialize(),加上:
PlatformUI.getPreferenceStore().setValue(IWorkbenchPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS,false);PlatformUI.getPreferenceStore().setValue(IWorkbenchPreferenceConstants.SHOW_PROGRESS_ON_STARTUP,true);第17頁/共21頁194定制目標平臺和開發(fā)平臺開發(fā)平臺是開發(fā)RCP的基本環(huán)境(IDE).目標平臺是應用程序運行的基礎平臺.為了更好的體現(xiàn)程序運行效果目標平臺和開發(fā)平臺最好分離.目標平臺需要單獨下載一個和開發(fā)平臺版本號相匹配的platform,如:
eclipse-platform-3.2.2-win32.zip
同時為了更完美的體現(xiàn)中文,還需要下載一個中文包:
NLpack1-eclipse-platform-3.2.1-win32.zip
目標平臺安裝步驟:創(chuàng)建文件夾:d:\eclipse_platform,將eclipse-platform-3.2.2-win32.zip解壓后eclipse文件夾下全部內(nèi)容復制其中.解壓語言包,將featur
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年舞蹈生韌性測試題及答案
- 威海市2024-2025學年高二上學期期末考試語文試題(含答案詳解)
- 2025年階位認定測試題及答案
- 2025年急診科規(guī)培試題及答案
- 主管護師外科練習卷附答案
- 保育師中級復習測試有答案
- 2025年數(shù)字藏品面試題及答案
- 工業(yè)分析與檢驗練習試題附答案
- 2025年二模中國近代試題及答案
- 2025年復試如何做筆試題及答案
- 2025年上半年宜賓江安縣人社局招考易考易錯模擬試題(共500題)試卷后附參考答案
- 2024年批次杭州市教育局所屬事業(yè)單位招聘筆試真題
- 2024年海東市第二人民醫(yī)院自主招聘專業(yè)技術人員考試真題
- 《VAVE價值工程》課件 - 創(chuàng)造最大化的價值與效益
- 2025年江蘇航空職業(yè)技術學院高職單招職業(yè)適應性測試近5年??及鎱⒖碱}庫含答案解析
- 中醫(yī)養(yǎng)生保健知識科普
- 2023年湖北省技能高考計算機類備考題庫(萬維題庫)-中部分(800題)
- 社區(qū)居委會2025年工作總結暨2025年工作計劃
- S145水表井標準圖集
- 水果聯(lián)營合同范例
- 江蘇卷2024年高考語文第一次模擬考試一(原卷版+解析版)
評論
0/150
提交評論