




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
會計學1EclipseRCP四常用技術基礎知識2概要項目的組織結構RCP基本框架定制應用程序窗口定制開發平臺和目標平臺第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源文件系統類庫插件依賴歡迎文字描述文件構建屬性對文件插件配置文件啟動圖片第3頁/共21頁52RCP基本框架Eclipse自動生成了一個RCP項目所需要的5個java文件,RCP項目也主要是在這5個文件基礎上做開發.深入的了解這5個文件對于RCP開發是非常有幫助的.第4頁/共21頁62.1基本概念Display應用程序一般只需要一個Display對象,該對象實際上是一個SWT對象,代表了低層圖形系統的實現.它負責從操作系統的事件隊列中讀取事件,傳遞給RCP的事件監聽器以便完成具體任務。第5頁/共21頁7Shell與Shell居中Shell每個窗口都有一個Shell對象.Shell對象代表了與用戶交互的窗口框架,并處理與窗口關聯的諸如移動、改變大小等常見行為。Shell居中:(見:代碼集錦Code1);第6頁/共21頁8WorkbenchWorkbench是工作臺,通俗地說就是代表用戶界面的UI元素.工作臺上有各種窗口、圖標、按鈕和控件,用戶執行各種操作的主要地方。每個應用程序只有一個Workbench。獲取方法:
IWorkbenchworkbench=PlatformUI.getWorkbench();Workbench重要的兩個方法:restart()--重新啟動應用程序close()–
關閉應用程序第7頁/共21頁9AdvisorAdvisor是個通稱,主要設置用戶主界面寬度、高度、圖標、菜單、工具欄、顏色、各類操作等等.Advisor有具體的3種類型:WorkbenchAdvisor:應用程序級別,負責工作臺生命周期的管理,例如啟動、關閉等。WorkbenchWindowAdvisor:窗口級別,每個窗口都有一個WorkbenchWindowAdvisor實例。該實例負責具體窗口的生命周期管理,例如:狀態欄、工具欄、菜單、標題和各種控件等等.有點與SWT中的Shell類似.ActionBarAdvisor:窗口級別。每個窗口都有一個ActionBarAdvisor的實例,該實例管理窗口的菜單欄、狀態欄、工具欄的外觀和行為。第8頁/共21頁10View和Editor在RCP中,用戶主要通過視圖(View)和編輯器(Editor)來與程序交互。視圖是可以浮動的工作窗口,負責顯示在某個層面的狀態信息。視圖擴展自ViewPart抽象類.編輯器也是一種工作窗口,提供對數據進行各種操作的交互能力。編輯器擴展自EditorPart抽象類實際上,視圖和編輯器并沒有嚴格的區分。第9頁/共21頁11Perspective透視圖(Perspective)是應用程序對窗口內容進行安排和布局的主要工具,每個應用程序都有一個默認的透視圖。默認的透視圖不可移動、不可關閉且沒有標題欄。透視圖與視圖、編輯器之間的關系可以用書包、書和筆來形容。Eclipse為我們創建了一個透視圖類(Perspective),而我們只需要在這個類中定義新的透視圖即可.第10頁/共21頁122.2類文件分析Application.javaApplication相當于Java類的main(),RCP程序的運行總是開始于Application,它負責程序的啟動、停止。切入點:可以將我們需要在程序運行之前的一些準備工作(諸如數據庫啟動,網絡檢驗,安全驗證等等)放在這類中.放置的地方:Displaydisplay=PlatformUI.createDisplay();try{
//數據庫啟動
//網絡校驗
//安全驗證intreturnCode=PlatformUI.createAndRunWorkbench(display,newApplicationWorkbenchAdvisor());…….第11頁/共21頁13ApplicationWorkbenchAdvisor.java這個類負責應用程序生命周期的管理.該類具體實現只是一個初始的視圖界面,還需要WorkbenchWindowAdvisor、ActionBarAdvisor配合才能構成一個較為完整的用戶界面,其主要有五個方法:方法說明initialize在啟動工作臺(Workbench)前進行初始化.這個方法有只有一個參數:IWorkbenchConfigurerpreStartup在初始化完成之后,打開第一個窗口之前調用,在這里可以對打開編輯器和視圖的初始化參數進行設置.postStartup在所有窗口打開或恢復以后開始事件循環之前調用.在這里可以進行一些類似自動批處理的工作preShutdown在事件循環結束以后,關閉任何一個窗口之前調用postShutdown在所有窗口關閉之后,關閉工作臺(Workbench)之前調用,可以用來保存當前應用的狀態,清理initialize方法創建的內容第12頁/共21頁14ApplicationWorkbenchWindowAdvisor.java這個類負責應用程序窗口生命起周的管理,該類控制窗口創建時的大小、標題、位置等。該類主要方法:方法說明preWindowOpen窗口控件創建之前調用,可以在該方法中設置窗口的初始大小、狀態欄、工具欄等postWindowRestore當窗口根據上一次的保存狀態恢復創建之后,打開窗口之前調用;第一次運行以及不保存狀態下都不會調用postWindowCreate窗口創建之后調用,用于調整窗口postWindowOpen窗口已經打開之后調用,可以用來注冊窗口監聽,系統托盤等第13頁/共21頁15ApplicationActionBarAdvisor.java這個類負責定義窗口的行為,該類用于構建菜單欄、工具欄和狀態欄。其主要方法:方法說明makeActions注冊菜單或者工具欄的動作fillMenuBar填充窗口的主菜單fillCoolBar填充窗口的主工具欄fillStatusLine填充窗口的主狀態欄第14頁/共21頁16Perspective.java這個類主要負責界面布局的安排。以下是個示例:public
voidcreateInitialLayout(IPageLayoutlayout){
//編輯區不可見
layout.setEditorAreaVisible(false);
//注冊新的透視圖是個獨立的視圖及其出現的位置
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即可.不保存窗口狀態
每次啟動程序都要恢復到之前關閉時的狀態會影響性能,所以要關閉掉,修改ApplicationWorkbenchAdvisor的initialize()將setSaveAndRestore(true)改為false;定制窗口式樣
修改ApplicationWorkbenchWindowAdvisor.java的preWindowOpen()方法如下:*第16頁/共21頁183定制應用程序窗口窗口居中
繼續修改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定制目標平臺和開發平臺開發平臺是開發RCP的基本環境(IDE).目標平臺是應用程序運行的基礎平臺.為了更好的體現程序運行效果目標平臺和開發平臺最好分離.目標平臺需要單獨下載一個和開發平臺版本號相匹配的platform,如:
eclipse-platform-3.2.2-win32.zip
同時為了更完美的體現中文,還需要下載一個中文包:
NLpack1-eclipse-platform-3.2.1-win32.zip
目標平臺安裝步驟:創建文件夾:d:\eclipse_platform,將eclipse-platform-3.2.2-win32.zip解壓后eclipse文件夾下全部內容復制其中.解壓語言包,將featur
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025船舶交易服務合同
- 2025版標準商品買賣合同范本
- 2025年廣東省農作物品種買賣合同范本
- 人教版小學一年級語文下冊第三單元測試卷16
- 2025年防疫相關試題
- 2025年建筑保溫材料檢測試題
- 護理安全典型案例分享
- 眼瞼瘙癢的臨床護理
- 【上海市綠色建筑協會】上海綠色照明發展報告20231167mb
- 幼兒園語言教育與活動設計 課件 第5、6章 幼兒園不同結構化程度語言教育活動的設計和實施;幼兒園語言教育活動實施的價值取向與反思
- 知識圖譜構建與應用試題及答案
- 礦山委托經營協議書
- 靜脈輸液不良反應應急預案與處理流程
- GB/T 45656-2025二手電子產品可用程度分級規范
- 備戰2025年高考英語搶分秘籍(新高考專用)猜押語法填空(話題+體裁)(學生版+解析)
- 醫院收費室筆試題及答案
- 江蘇省南京市、鹽城市2025屆高三年級5月第二次模擬考試英語(南京鹽城二模)
- GA/T 2159-2024法庭科學資金數據清洗規程
- 大學生勞動就業法律問題解讀(華東理工大學)智慧樹知到見面課、章節測試、期末考試答案
- 大學生個人理財知識課件
- 2025年江西省高職單招文化統一考試真題及答案(網絡版)
評論
0/150
提交評論