国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Eclipse插件開發(fā)之添加簡單的GUI元素

2019-11-18 11:04:55
字體:
供稿:網(wǎng)友

編寫Ecl

本文將討論少許幾個(gè)簡單的GUI元素:

· 工具條按鈕

· 菜單項(xiàng)

· 對(duì)話框

為了使用這些元素,我們將稍微修改已有的插件,順便編寫一個(gè)可供使用的工具類。

擴(kuò)展點(diǎn)(Extension Points)

我們不能隨意地向Eclipse用戶界面的任何地方添加窗口小部件,只能在非凡的、指定的、有記載的位置添加。這些位置被稱為擴(kuò)展點(diǎn)(extension points)。在基本的Eclipse安裝中存在數(shù)以百計(jì)可供使用的擴(kuò)展點(diǎn)。插件自身也可以發(fā)布新的擴(kuò)展點(diǎn)。我們來看一看列表中的擴(kuò)展點(diǎn)。打開Invokatron項(xiàng)目(見天極網(wǎng)《Eclipse插件開發(fā)快速入門》)中的plugin.xml文件,進(jìn)入"擴(kuò)展"(Extensions)屬性頁。"所有擴(kuò)展"樹列出了插件的不同的窗口部件,根據(jù)它們出現(xiàn)時(shí)所在的擴(kuò)展點(diǎn)來分類。例如Invokatron編輯器位于編輯器(org.eclipse.ui.editor)擴(kuò)展點(diǎn)中。圖1顯示了這個(gè)屬性頁。

Eclipse插件開發(fā)之添加簡單的GUI元素

圖1:擴(kuò)展頁

現(xiàn)在請點(diǎn)擊"添加"(ADD)按鈕,出現(xiàn)了圖2所示的列表。

Eclipse插件開發(fā)之添加簡單的GUI元素

圖2:新增擴(kuò)展向?qū)В瑪U(kuò)展列表

上下滾動(dòng)這個(gè)列表可以看到很多可供使用的擴(kuò)展點(diǎn)。你可能注重到了有兩種類型的擴(kuò)展點(diǎn):帶有擴(kuò)展模板的(用加號(hào)標(biāo)識(shí))和不帶擴(kuò)展模板的。大多數(shù)經(jīng)常用到的擴(kuò)展點(diǎn)都帶有用于輔助開發(fā)擴(kuò)展的模板。圖2中選擇的擴(kuò)展點(diǎn)Action Set,帶有一個(gè)叫做"Hello World"操作集的模板。當(dāng)你選擇某個(gè)模板的時(shí)候,會(huì)出現(xiàn)簡短的描述。"下一個(gè)"頁面將詢問模板使用的參數(shù)。

現(xiàn)在請關(guān)閉向?qū)Р⒎祷氐?擴(kuò)展"屬性頁。選擇"Invokatron編輯器"。在這個(gè)屬性頁中,你可能注重到了我們在向?qū)е袨镮nvokatron編輯器輸入的信息。正常的擴(kuò)展需要一個(gè)唯一的標(biāo)識(shí)符(ID字段)、一個(gè)供顯示的名稱(Name字段)和它所屬的擴(kuò)展點(diǎn)(Point字段)。從模板中建立的擴(kuò)展(例如Invokatron編輯器)需要更多的參數(shù)。沒有模板的擴(kuò)展點(diǎn)也需要更多的信息,但是這些信息只能在文本編輯器中輸入。

添加工具條按鈕

現(xiàn)在我們已經(jīng)了解了擴(kuò)展點(diǎn)是什么,讓我們來添加一個(gè)擴(kuò)展吧。我們首先添加的是一個(gè)工具條按鈕。這個(gè)按鈕將調(diào)用我們前面建立的新的Invokatron向?qū)А?/P>

添加工具條按鈕有三個(gè)步驟:

1.聲明一個(gè)新擴(kuò)展。

2.用特定的標(biāo)記來擴(kuò)充該聲明。

3.編寫操作委托類

1.聲明一個(gè)新擴(kuò)展

我們已經(jīng)知道怎樣實(shí)現(xiàn)這個(gè)步驟了。簡單地返回到擴(kuò)展點(diǎn)下的plugin.xml編輯器。點(diǎn)擊"添加"。工具條按鈕在org.eclipse.ui.actionSets擴(kuò)展點(diǎn)下面。不要使用模板,直接點(diǎn)擊"完成"。輸入下面一些內(nèi)容:

· Id: NewInvokatronAction

· Name: New Invokatron Document Action

· Point: (使用默認(rèn)值:org.eclipse.ui.actionSets)

返回plugin.xml屬性頁,Eclipse給這個(gè)文件添加了新的代碼片斷。

2.用特定的標(biāo)記來擴(kuò)充該聲明

這個(gè)新擴(kuò)展幾乎毫無內(nèi)容。我們在下面添加一些標(biāo)記(tag)。你知道可以使用哪些標(biāo)記嗎?你可以右鍵點(diǎn)擊"所有擴(kuò)展"樹中的元素,選擇"新增"菜單,會(huì)得到一個(gè)列表。你也可以查看Eclipse文檔。

現(xiàn)在我們看到自己可以在<extension>標(biāo)記內(nèi)部添加一個(gè)<actionSet>標(biāo)記。它可以包含零個(gè)或多個(gè)<menu>標(biāo)記,后面跟著零個(gè)或多個(gè)<action>標(biāo)記,還可以選擇使用<description>標(biāo)記。但是其中最重要的標(biāo)記是<action>。它可以同時(shí)描述工具條按鈕和菜單項(xiàng)。>BR>下面是我們將添加的工具條按鈕的XML代碼片斷。其中的新代碼是黑體的。我們在后面會(huì)剖析這段代碼。

<extension id="NewInvokatronAction"

name="New Invokatron Document Action"

point="org.eclipse.ui.actionSets">

<actionSet id="invokatron.actionSet"

label="Invokatron Actions"

visible="true">

<action id="invokatron.wizard.RunWizardAction"

toolbarPath="org.eclipse.ui.workbench.file/new.ext"

icon="icons/InvokatronIcon16.gif"

tooltip="Starts the New Invokatron Document Wizard."

class="invokatron.wizard.RunWizardAction">

</action>

</actionSet>

</extension>

所有這些操作都可以在plugin.xml編輯器中用圖形化的方式來完成,但是我們查看XML以明確字段的完整文本內(nèi)容。此處的<actionSet>標(biāo)記只含有一個(gè)操作(action)。操作表現(xiàn)為菜單中的項(xiàng)或工具條中的按鈕的對(duì)象。操作的屬性實(shí)在太多了,你可以在在線文檔中查閱。其中最有趣的一些屬性是:

· id:操作的唯一標(biāo)識(shí)符。可以用于在運(yùn)行時(shí)引用操作。

· toolbarPath:放置工具條按鈕的位置。

· icon:工具條按鈕或菜單項(xiàng)左側(cè)顯示的圖標(biāo)。它是一個(gè)與開發(fā)目錄關(guān)聯(lián)的16×16的GIF文件。請把 圖片存放到Invokatron/icons文件夾中。這個(gè)文件夾已經(jīng)被包含到二進(jìn)制建立路徑中,因此該圖標(biāo)將放入插件的文檔目錄中。

· tooltip:當(dāng)鼠標(biāo)停留在工具條按鈕上的時(shí)候出現(xiàn)的文本內(nèi)容。

· class:這些操作的完整的合格的類名稱。
關(guān)于工具條路徑



發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 三亚市| 修文县| 同仁县| 南郑县| 娄底市| 阿拉善右旗| 凉城县| 沂源县| 大新县| 东阿县| 土默特右旗| 裕民县| 玉山县| 华亭县| 湟中县| 成安县| 积石山| 张掖市| 宜都市| 肇州县| 金塔县| 偏关县| 洪江市| 辛集市| 四会市| 子长县| 平山县| 新营市| 信丰县| 郴州市| 广水市| 黎川县| 新田县| 阿巴嘎旗| 积石山| 嵊州市| 建始县| 巨野县| 亚东县| 广丰县| 体育|