快速业务通道

为Eclipse组件实现Web用户界面 - 在基于Eclipse的组件内使用RIA技术 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
件反过来可 以帮助我们用 Web UI 技术实现 Eclipse 组件。我们可以使用如下步骤来通过 Web UI 实现一个 Eclipse 组件(编辑器或视图):

使用任何 Web UI 技术开发这个 Web UI。

打包这个 Web UI 应用程序以供在 Eclipse 内访问。打包的选项有很多,但通常,可以将这个 Web 应用程序放入 一个 Eclipse 插件以便编辑器类可以访问它。

从编辑器代码中,实例化 SWT 浏览器小部件并用 它来启动这个 Web UI 应用程序。清单 1 内的代码展示了如何在 EditorPart 控件的 createPartControl() 方法内实例化浏览器小部件并在浏览器内打开这个 Web UI。

清单 1. 在 Eclipse 编辑器内实例化一个浏览器小部件

public void createPartControl(Composite  parent) {  …  Browser browser = new Browser(parent, SWT.NONE);  …  browser.setUrl(“my.plugin.name\MyFirstWebUI.html”);   …  }

以上就是这个小部件的层次结构,其中的一个浏览器小部件运行 Web UI 应用程序:Eclipse Workbench > Eclipse Editor/View > SWT Browser control > Web UI application。

Web UI 应用程序如何与 Eclipse 通信?

Web UI 应用程序与 Eclipse 之间的通信渠道根据所用的 Web UI 技术而有所不同。对于最常用的 Web UI 技术,比如 Adobe Flex、Dojo 和 OpenLaszlo,JavaScript 和 HTTP 请求均可使用。接下来让 我们分别来看看这两种情况。

通过 JavaScript 进行通信

使用 JavaScript,Eclipse 和 Web UI 应用程序之间的通信在 方向上稍有差异。要实现从 Eclipse 到 Web UI 应用程序的通信,在 SWT 浏览器控件内有一个 API 可 用(Browser.execute(String string))。借助它,可在这个运行于浏览器内的 Web UI 中执行 JavaScript。清单 2 和 3 显示了 Eclipse 是如何调用 JavaScript 的以及这个 Web UI 应用程序又是 如何处理这个 JavaScript 调用的。

首先,Eclipse 进行一个 JavaScript 调用 — 在本例 中,就是请求打开一个对话框。

清单 2. Eclipse 调用 JavaScript

Browser  browser = new Browser(parent, SWT.NONE);  …  browser.execute (“openDialog();”);

在这个 HTML 内定义的这个 JavaScript 函数将会随后 执行。

清单 3. 由 Web UI 收到的 JavaScript 调用

function openDialog()  {  …  alert();  …  }

为Eclipse组件实现Web用户界面 - 在基于Eclipse的组件内使用RIA技术(3)

时间:2011-08-11 IBM Robert Ma

根据实现这个 Web UI 应用程序所用的技术,在浏览器控件内执行 JavaScript 可能就已经足够了。但是,对于运行在浏览器内 的另一个容器内的技术 — 比如运行在 Adobe Flash player 内的 Adobe Flex 应用程序 — Web UI 应用程序和 Eclipse 之间就需要一个代理。

让我们看看使用 Adobe Flex 的另一个例子。在从 Eclipse 浏览器调用 JavaScript 时,HTML 应 用程序可以将 JavaScript 调用转换成 ActionScript,然后再在 Flex 应用程序上调用这个 ActionScript。清单 4、5 和 6 展示了 Eclipse 如何通过 JavaScript 和 ActionScript 的组合与 Flex 通信。

首先,跟以前一样,Eclipse 先生成一个 JavaScript 调用。

清单 4. Eclipse 为这个 Flex 应用程序调用 JavaScript

Browser browser = new Browser (parent, SWT.NONE);  …  browser.execute(“openDialog ();”);

在本例中,这个 JavaScript 函数实际创建了一个 ActionScript 调用,并 执行该调用。

清单 5. JavaScript 为这个 Flex 应用程序创建 ActionScript

var  appName="MyFlexApp";  function getFl

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号