从Flex小部件访问GWT功能

时间:2011-06-29 08:53:58

标签: java javascript flex actionscript-3 gwt

我想开发一个GWT javascript应用程序,它必须与flex小部件交互并从2个方向触发事件(flex到GWT和GWT到flex) 例如,我在GWT中开发了一个名为onWidgetSelected(int widgetID){ ...}的函数,生成的javascript代码不包含此函数的名称。所以,如果我想通过javascript调用flex调用它,我该怎么办?

2 个答案:

答案 0 :(得分:2)

@cwallenpoole正确地向您展示了如何从Flex调用JS。但是由于GWT产生混淆的JS,你将无法通过其本机名称调用GWT Java方法。

为了完成这项工作,您需要按照此处所述“导出”该方法:http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasicsJSNI.html#calling

答案 1 :(得分:0)

每当你想谈论JS和AS相互交谈时,你需要考虑Flash中的EnternalInterface类。在这种情况下,听起来您想要拨打addCallBack并致电

EnternalInterface.addCallBack("onWidgetSelected",onWidgetSelected);

在JS中:

document.getElementById("#swf-id").onWidgetSelected( 1 );

从AS调用JS:

EnternalInterface.call("alert",1);