欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Eclipse插件開發(fā)之簡單控件封裝—那些年冗長的裹腳布

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-24 17:28 ? 次閱讀

Hello,大家好~不知道還有沒有老朋友記得我。N年前那個寫流程自動化測試的程序媛就是我,可能看完那篇文章很多人認為我是自動化測試方向。No,No,No~今天破案了,我真正的主要技術方向——Eclipse插件開發(fā)。是的,如此小眾的技術,有點疑惑都滿網(wǎng)找不到答案的技術。思考了很久這塊可以寫點啥,基礎開發(fā)我也不多說了,愿意看這篇文章的我也就默認已經是Eclipse插件開發(fā)入門了。

Eclipse插件開發(fā),接觸過這塊的同學們都知道,無論是控件也好,向導視圖也罷。但凡每次開發(fā)個不起眼的小功能,從零開始堆代碼,都很煩躁,各種composite開始套,各種GridLayout布局開始調。當你的公司要求你開發(fā)大量的插件功能時,可能多數(shù)的時間你都在堆砌這種煩躁的代碼。

在我司的EOS Platform里封裝了進行了大量的swt封裝,今天我們就來說說其中最基礎的控件類封裝,即屬性編輯器。我們先來看下我們的UI框架。

每個Tab頁中我們進行了完整的對象編輯器的封裝,每個對象編輯器上,放置了多個屬性編輯器。

StringPropertyEditor就是一個屬性編輯器,ObjectEditor為一個對象編輯器,我們可以在一個ObjectEditor上添加多個StringPropertyEditor。StringPropertyEditor基礎方法(不僅限于所展示的方法):setLabel(String label):標簽名稱。setPropertyName(String name):Text中value的數(shù)據(jù)映射key。doAddValidator(IValidator validator):添加校驗器。這個時候我們是不是可以看出SWT控件開發(fā)和屬性編輯器開發(fā)的差異了?總結一下:

可以看下我們可以進行多少種不同的控件封裝。

看到類名大家應該差不多都清楚每個屬性編輯器的大體功能。我們就拿一個StringPropertyEditor看看它是如何封裝的吧。

StringPropertyEditor

StringPropertyEditor就是Label+Text,例如:

1.首先它一定是先有一個對象屬性的基類AbstractPropertyAccessor,基類中的方法:

這個基類涉及到三個屬性:propertyName:value的數(shù)據(jù)映射key。element:默認為當前對象編輯器中的value對象,可給單個屬性編輯器設置單獨的value對象。But!該value對象中必須包含propertyName設置的key值。introspector:這是個什么?這是個數(shù)據(jù)訪問接口對象Introspector。該接口定義了如何根據(jù)一個名稱(propertyName)來訪問一個對象(element)中的值。這樣設計為了提供靈活性,因為通常訪問數(shù)據(jù)有兩種方式。一種是根據(jù)Bean的屬性進行訪問,還有一種是使用Map中的Key進行訪問,所以設計這個接口來訪問對象中的數(shù)據(jù),用戶如果需要的話,也可以提供新的實現(xiàn),如直接訪問對象的Field或者其它。簡單看下該接口的一個實現(xiàn)類所提供的方法。

通過Property的方式來訪問一個Bean對象,在Property 不存在的情況會拋出異常。對于對象的存儲用ognl.Ognl來實現(xiàn)。2.AbstractPropertyAccessor基類只是提供了數(shù)據(jù)層的封裝,我們還需要一層封裝來提供屬性編輯器的基本實現(xiàn)AbstractPropertyEditor,這個類封裝了所有控件的布局以及可能的操作。

其實這是相當長的一個封裝,抽取出核心事務,我們來說一說。添加控件

這是一個核心的方法,你不需要去調用這個方法,在對象編輯器中的基類里會自動調用來這個方法來繪制所有添加的屬性編輯器。buildEditorControl創(chuàng)建用來編輯的SWT控件,即控件,控件的基本提示信息,控件的GridData,控件的錯誤信息的圖片等等。該方法中通過調用保護方法protected abstract IControlCreator createControlCreator()來獲取真實的子類控件。getLayoutDataBuilder用來封裝控件的布局,同樣,子類可以通過重構來改變自己的布局。

這個方法同樣是對控件的處理,之所以同控件的添加分開,是因為這個方法中的操作并不是每個控件必須的,根據(jù)需要繼承開發(fā)。這個封裝方法中做了兩件事,一個是binding,也就是處理控件的聯(lián)動,這里封裝了控件的屬性值綁定聯(lián)動,以及反向綁定的聯(lián)動處理。另一個就是為當前的編輯控件增加焦點監(jiān)聽器。動態(tài)更改控制值

這個方法除了在load的時候會調用,在對象編輯器使用的過程中,控件的聯(lián)動也會使用到,比如最常見到的,瀏覽資源,點擊瀏覽的button彈出資源選擇框,根據(jù)選中的對象回填對象編輯器中的值,就會用到該方法。在這個setValue方法中,是通過數(shù)據(jù)改變的封裝接口去實現(xiàn)的。我們可以看下這個數(shù)據(jù)改變的容器接口。

審核編輯:符乾江
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 封裝
    +關注

    關注

    127

    文章

    8016

    瀏覽量

    143473
  • Eclipse
    +關注

    關注

    1

    文章

    114

    瀏覽量

    21518
收藏 人收藏

    評論

    相關推薦

    JetBrains IDE上架開發(fā)微信小程序的官方插件

    一直以來,小程序開發(fā)者必須安裝第三方插件,才能在 JetBrains IDE 中進行小程序開發(fā)。在 JetBrains Marketplace 上,有關插件已有約 50 萬下載量。 對
    的頭像 發(fā)表于 01-16 17:15 ?176次閱讀
    JetBrains IDE上架<b class='flag-5'>開發(fā)</b>微信小程序的官方<b class='flag-5'>插件</b>

    使用MCUXpresso for VS Code插件開發(fā)Zephyr的hello world

    本期來到Zephyr實戰(zhàn)經驗演練,小編帶著大家一起使用MCUXpresso for VS Code插件開發(fā)一個屬于Zephyr的hello world。
    的頭像 發(fā)表于 01-03 09:21 ?668次閱讀
    使用MCUXpresso for VS Code<b class='flag-5'>插件</b><b class='flag-5'>開發(fā)</b>Zephyr的hello world

    Kubernetes的CNI網(wǎng)絡插件flannel

    Kubernetes設計了網(wǎng)絡模型,但卻將它的實現(xiàn)講給了網(wǎng)絡插件,CNI網(wǎng)絡插件最重要的功能就是實現(xiàn)Pod資源能夠跨主機通信。
    的頭像 發(fā)表于 01-02 09:43 ?327次閱讀

    機智云ESP8266開發(fā)板RGB彩燈控件

    隨著智能家居技術的迅猛發(fā)展,RGB彩燈控件正逐漸成為現(xiàn)代家庭不可或缺的一部分。在這一潮流中,機智云(Gizwits)的ESP8266開發(fā)板RGB彩燈控件以其先進的物聯(lián)網(wǎng)技術和多樣化的燈光控制功能,為
    的頭像 發(fā)表于 08-09 08:10 ?469次閱讀
    機智云ESP8266<b class='flag-5'>開發(fā)</b>板RGB彩燈<b class='flag-5'>控件</b>

    圖片動畫控件和Video image控件的使用方法

    在UI開發(fā)過程中,序列幀基本是繞不開的,AWTK 支持多種方法實現(xiàn)序列幀顯示,本文介紹圖片動畫控件和Video image控件的使用方法。
    的頭像 發(fā)表于 08-06 16:44 ?1090次閱讀
    圖片動畫<b class='flag-5'>控件</b>和Video image<b class='flag-5'>控件</b>的使用方法

    鴻蒙開發(fā)Ability Kit程序訪問控制:使用位置控件

    位置控件使用直觀且易懂的通用標識,讓用戶明確地知道這是一個獲取位置信息的按鈕。這滿足了授權場景需要匹配用戶真實意圖的需求。只有當用戶主觀愿意,并且明確了解使用場景后點擊位置控件,應用才會獲得臨時的授權,獲取位置信息并完成相應的服務功能。
    的頭像 發(fā)表于 07-03 16:32 ?482次閱讀
    鴻蒙<b class='flag-5'>開發(fā)</b>Ability Kit程序訪問控制:使用位置<b class='flag-5'>控件</b>

    鴻蒙開發(fā)Ability Kit程序訪問控制:使用保存控件

    保存控件是一種特殊的安全控件,它允許用戶通過點擊按鈕臨時獲取存儲權限,而無需通過權限彈框進行授權確認。
    的頭像 發(fā)表于 07-03 14:40 ?505次閱讀
    鴻蒙<b class='flag-5'>開發(fā)</b>Ability Kit程序訪問控制:使用保存<b class='flag-5'>控件</b>

    鴻蒙開發(fā)Ability Kit程序訪問控制:使用粘貼控件

    粘貼控件是一種特殊的系統(tǒng)安全控件,它允許應用在用戶的授權下無提示地讀取剪貼板數(shù)據(jù)。
    的頭像 發(fā)表于 07-03 09:15 ?393次閱讀
    鴻蒙<b class='flag-5'>開發(fā)</b>Ability Kit程序訪問控制:使用粘貼<b class='flag-5'>控件</b>

    請問Eclipse環(huán)境如何搭建IoT Solution?

    目前使用樂鑫 IDE(2.11.1版本),它實際是基于 Eclipse 的集成開發(fā)環(huán)境 (IDE),很多應用都是在次平臺進行開發(fā)的?,F(xiàn)在需要用到ESP IoT Solution平臺的功能,但官方給出
    發(fā)表于 06-27 06:00

    使用eclipse20-06+ESP-IDF Eclipse Plugin來進行開發(fā),無法使用template是怎么回事?

    在cmd環(huán)境下完成編譯后,為求方便,故使用eclipse20-06+ESP-IDF Eclipse Plugin來進行開發(fā),但發(fā)現(xiàn)一個情況,創(chuàng)建項目時無法使用template,在new
    發(fā)表于 06-24 08:06

    請問vscode和eclipse哪個好使?

    如題,最近開發(fā)esp32,在windows環(huán)境下。 說實話,idf的開發(fā)環(huán)境比以前搭建起來簡單多了,無論是vscode還是eclipse里都有一鍵安裝的
    發(fā)表于 06-21 06:43

    芯海 32 位 MCU 開發(fā)調試 ,基于 VS Code 插件實現(xiàn)芯海 32 位 MCU 開發(fā)調試

    編譯/鏈接等腳本語法,只需要簡單配置參數(shù)、新建工程、增加代碼文件后,就可以開始編譯 和調試了。如果要生成靜態(tài)庫文件也只需要修改輸出格式,再編譯就可能生成.a 的文件。*附件:基于VSCode插件實現(xiàn)芯海32位MCU開發(fā)調試.pd
    發(fā)表于 05-16 10:46

    鴻蒙實戰(zhàn)開發(fā)學習:【HiView插件開發(fā)

    Hiview是一個跨平臺的終端設備維測服務集,其中是由插件管理平臺和插件實現(xiàn)的各自功能構成整套系統(tǒng)。 本文描述了hiview插件開發(fā)的全部流程。
    的頭像 發(fā)表于 03-12 11:52 ?1461次閱讀
    鴻蒙實戰(zhàn)<b class='flag-5'>開發(fā)</b>學習:【HiView<b class='flag-5'>插件</b><b class='flag-5'>開發(fā)</b>】

    Eclipse EZ-USB1.3.5為CX3創(chuàng)建一個新的配置項目時報向導無法啟動的原因?怎么解決?

    當嘗試在最新的 Eclipse EZ-USB 套件 1.3.5 集成開發(fā)環(huán)境中為 CX3 創(chuàng)建一個新的配置項目時,該工具報告了以下錯誤: 所選向導無法啟動。 插件“com.CYPRESS
    發(fā)表于 03-04 07:45

    插件型功率電感封裝類型對使用有影響嗎

    插件型功率電感封裝類型對使用有影響嗎 編輯:谷景電子 插件型功率電感在電子電路中是特別重要的一種電感元件,它對于保證電路的穩(wěn)定運作有著特別重要的影響。要想充分發(fā)揮插件型功率電感的功能作
    的頭像 發(fā)表于 02-18 13:52 ?460次閱讀