Eclipse插件开发之添加简单的GUI元素

  次阅读 作者:智能小宝 来源:互联网 2016-01-14 14:26 我要评论(0)

编写Eclipse插件的方法很简单,你只需要编写一个应用程序,并把它"添加"到Eclipse上。但是与编写音乐类似,在能够创作一部著作之前,首先必须学习大量的相关知识。

本文将讨论少许几个简单的GUI元素:

· 工具条按钮

· 菜单项

· 对话框

为了使用这些元素,我们将稍微修改已有的插件,顺便编写一个可供使用的工具类。

扩展点(Extension Points)

我们不能随意地向Eclipse用户界面的任何地方添加窗口小部件,只能在特殊的、指定的、有记载的位置添加。这些位置被称为扩展点(extension points)。在基本的Eclipse安装中存在数以百计可供使用的扩展点。插件自身也可以发布新的扩展点。我们来看一看列表中的扩展点。打开Invokatron项目(见天极网《Eclipse插件开发快速入门》)中的plugin.xml文件,进入"扩展"(Extensions)属性页。"所有扩展"树列出了插件的不同的窗口部件,根据它们出现时所在的扩展点来分类。例如Invokatron编辑器位于编辑器(org.eclipse.ui.editor)扩展点中。图1显示了这个属性页。

图1:扩展页

现在请点击"添加"(ADD)按钮,出现了图2所示的列表。

图2:新增扩展向导,扩展列表

上下滚动这个列表可以看到很多可供使用的扩展点。你可能注意到了有两种类型的扩展点:带有扩展模板的(用加号标识)和不带扩展模板的。大多数经常用到的扩展点都带有用于辅助开发扩展的模板。图2中选择的扩展点Action Set,带有一个叫做"Hello World"操作集的模板。当你选择某个模板的时候,会出现简短的描述。"下一个"页面将询问模板使用的参数。

现在请关闭向导并返回到"扩展"属性页。选择"Invokatron编辑器"。在这个属性页中,你可能注意到了我们在向导中为Invokatron编辑器输入的信息。正常的扩展需要一个唯一的标识符(ID字段)、一个供显示的名称(Name字段)和它所属的扩展点(Point字段)。从模板中建立的扩展(例如Invokatron编辑器)需要更多的参数。没有模板的扩展点也需要更多的信息,但是这些信息只能在文本编辑器中输入。

添加工具条按钮

现在我们已经了解了扩展点是什么,让我们来添加一个扩展吧。我们首先添加的是一个工具条按钮。这个按钮将调用我们前面建立的新的Invokatron向导。

添加工具条按钮有三个步骤:

1.声明一个新扩展。

2.用特定的标记来扩充该声明。

3.编写操作委托类

1.声明一个新扩展

我们已经知道怎样实现这个步骤了。简单地返回到扩展点下的plugin.xml编辑器。点击"添加"。工具条按钮在org.eclipse.ui.actionSets扩展点下面。不要使用模板,直接点击"完成"。输入下面一些内容:

· Id: NewInvokatronAction

· Name: New Invokatron Document Action

· Point: (使用默认值:org.eclipse.ui.actionSets)

返回plugin.xml属性页,Eclipse给这个文件添加了新的代码片断。

2.用特定的标记来扩充该声明

这个新扩展几乎毫无内容。我们在下面添加一些标记(tag)。你知道可以使用哪些标记吗?你可以右键点击"所有扩展"树中的元素,选择"新增"菜单,会得到一个列表。你也可以查看Eclipse文档。

现在我们看到自己可以在<extension>标记内部添加一个<actionSet>标记。它可以包含零个或多个<menu>标记,后面跟着零个或多个<action>标记,还可以选择使用<description>标记。但是其中最重要的标记是<action>。它可以同时描述工具条按钮和菜单项。>BR>下面是我们将添加的工具条按钮的XML代码片断。其中的新代码是黑体的。我们在后面会剖析这段代码

<extension id="NewInvokatronAction"

name="New Invokatron Document Action"

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

<actionSet id="invokatron.actionSet"

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...