快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
exApp(appName) {  if  (navigator.appName.indexOf ("Microsoft") !=-1) {   return window[appName];  } else {   return document[appName];  }  }  function  openDialog() {  …  getFlexApp(appName).handleOpenDialog();   …  }

最后,ActionScript 被 Flex 应用程序接收以便执行。

清单 6. 被 Flex 应用程序接收到的 ActionScript

…  if  (ExternalInterface.available) {  try {   ExternalInterface.addCallback ("handleOpenDialog", handleOpenDialogInFlex);  }  catch (error:SecurityError)  {}  catch (error:Error) {}  }  …  public function  handleOpenDialogInFlex():void {  Alert.show(“hello world!”);  }

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

时间:2011-08-11 IBM Robert Ma

为了方便从 Web UI 应用程序到 Eclipse 的通信,我们使用了一个稍微不同的方法,这 次我们利用的是浏览器状态栏。基本而言,这个 Web UI 应用程序很有可能通过 JavaScript 更新这个浏 览器的状态栏。在 Eclipse 内,有一个状态文本行侦听程序被附加到这个为 Web UI 应用程序创建的浏 览器控件。因而,在浏览器的状态栏内的任何变更都将通知到所附加的这个侦听程序。不过,应该牢记的 一点是这个浏览器状态栏不只由我们的 Web UI 应用程序使用。因而,在 Eclipse 内的状态栏侦听程序 必须过滤出所有不相关的状态栏更新。清单 7 和 8 显示了对于这种通信渠道该如何设置此 Web UI 应用 程序和 Eclipse。

在 Eclipse 内,我们打开一个浏览器并建立这个状态文本行侦听程序。请注意 我们将这个侦听程序设为查找我们想要这个 Web UI 生成的特定文本。

清单 7. 在 Eclipse 内建 立这个侦听程序

Browser browser = new Browser(parent, SWT.NONE);   Browser.addStatusTextListener(new StatusTextListener() {  public void changed (StatusTextEvent event) {   String text = event.text;   if (  “fromWebApp:handleButtonPressed()”.equals(text) ) {    handleButtonPressed();   }  }  });  public void  handleButtonPressed() {…}

在 JavaScript 内,我们定义了一个函数来更改这 个浏览器的状态栏,然后我们用一个更新调用该函数。请注意此更新与我们在这个侦听程序内所等待的更 新是相匹配的。

清单 8. 更新此浏览器的状态栏的 JavaScript

function  changeStatusLine(status){  window.status = status;  }  …   changeStatusLine(“fromWebApp:handleButtonPressed()”);

同样地,如果 Web UI 应用程序在浏览器内的一个容器内运行,那么 HTML 应用程序层可充当 Web UI 应用程序和 Eclipse 间的一个代理。我们再以 Adobe Flex 作为一个例子,这个 Flex 应用程序使用 ExternalInterface 类调用 HTML 容器内的 JavaScript。接下来,该 HTML 容器更新状态栏。(参见清 单 9 和 10。)

在 JavaScript 内,我们创建一个函数来更新状态栏。

清单 9. 更新状态 栏的 JavaScript 函数

function changeStatusLine(status){  window.status =  status;  }

在 Flex 内,我们创建一个函数来调用我们的外部 JavaScript 函数 并执行它,更改状态栏。

清单 10. 更新状态栏的 Flex 应用程序

public  function changeStatusLineTo( text:String ) : void {  ExternalInterface.call ("changeStatusLine", text);  }  …  changeStatusLineTo (“fromWeb

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号