SmartInvoke还可以轻松的帮助你实现多窗口的功能。窗口之间可以方便的互调。首先我们点击eclipse工具栏上的图标:
打开新建对话框,输入如下内容:
点击完成后eclipse会在First_项目下新建一个SubWin.mxml文件。如下图:
我们在SubWin.mxml文件中添加一公共方法供FirstWin调用。内容如下:
public function subWinMethod(bean:BeanTest):void{
Alert.show(bean.name);
}
这里的方法必须为public的。
在FirstWin.mxml文件中添加打开SubWin窗口的代码,如下:
var subWin:FlashShell=FlashShell.CreateInstance0();
subWin.setAppPath("SubWin");
subWin.setSize(400,400);
subWin.setText("SubWin.............");
subWin.open();
通过调用subWin的getFlashViewer方法获得cn.smartinvoke.gui.FlashViewer类型对象,如果说FlashShell对象的作用是控制窗口,那么FlashViewer对象的作用就是控制窗口加载的swf。
通过调用FlashViewer对象上的asyncCallFlexApp,与callFlexApp方法可以调用到加载窗口所在flex application对象上的公共方法。方法说明如下:
asyncCallFlexApp(methodName:String, params:Array = null):void
异步调用当前FlashViewer加载的flex application对象的公共方法 方法不会挂起当前执行进程,直接返回
param methodName 调用方法名称 param params 调用方法参数
callFlexApp(methodName:String, params:Array = null):Object
同步调用当前FlashViewer加载的flex application对象的公共方法 方法会挂起当前执行进程直到java返回
方法提供了不同flex applcation互掉的机制 param methodName 调用方法名称 param params 调用方法参数。
所以通过如下代码就可以访问到SubWin.mxml中的方法:
var viewer:FlashViewer=subWin.getFlashViewer();
var bean:BeanTest=new BeanTest();
bean.name="pz";
viewer.asyncCallFlexApp("subWinMethod",[bean]);
但是这段代码不能在subWin.open();的后面调用,因为无法确定subWin所加载的swf是否加载完毕。不用当心,smartinvoke为我们提供了cn.smartinvoke.gui.ShellManager这个类,通过他可以监听到当前应用程序窗口的打开与关闭事件,代码如下:
ShellManager.Instance.addListener(function (evt:CShellEvent):void{
var shell:FlashShell=evt.widget;
if(evt.type==CShellEvent.Event_Open){
var viewer:FlashViewer=shell.getFlashViewer();
var bean:BeanTest=new BeanTest();
bean.name="pz";
viewer.asyncCallFlexApp("subWinMethod",[bean]);
}
if(evt.type==CShellEvent.Event_Closed){
this.labelInfo.text="窗口"+shell.getShellName()+"关闭了";
}
},this);
- 大小: 597 Bytes
- 大小: 19.3 KB
- 大小: 27 KB
分享到:
相关推荐
暗示我们讨论的是一个特定的开发集成环境(IDE)针对Flash动画与代码集成的工具。这个IDE可能是为开发者设计的,帮助他们更有效地创建和管理包含Flash元素的交互式应用程序。让我们深入探讨这个主题。 Flash动画在...
《SmartInvoke库与示例详解:Java/C#与Flex的桥梁》 在现代软件开发中,跨平台交互已经成为一个普遍需求。SmartInvoke库正是为了解决这个问题而诞生的,它提供了一种有效的方式,使得Flex界面API能够与Java或C#进行...
### 通过SmartInvoke运用Java与Flex轻松构建CS程序 #### 概述 本文旨在介绍如何利用SmartInvoke技术结合Java和Flex构建高效的客户端-服务器(CS)应用程序。文章着重讲解了SmartInvoke的基础设置、项目创建流程及...
通常,C#与Flex之间的通信是通过ActionScript的ExternalInterface或SmartInvoke库来实现的。ExternalInterface是Flash Player提供的API,允许JavaScript与ActionScript之间通信;而SmartInvoke则是一个专门用于C#与...
ruoyi-vue-pro-vben 芋道管理后台,基于 vben 最新版本,最新的 vue3 vite4 ant-design-vue 4.0 typescript 语法进行重构开发,支持 springboot3 springcloud 版本
那些年,与你同分同位次的同学都去了哪里?全国各大学在四川2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
yolo系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值
该项目是一个基于Java语言开发的水果管理系统设计源码,包含53个文件,其中包括30个Java源文件、13个XML配置文件、6个JAR包文件、1个Git忽略文件、1个属性文件以及1个SQL脚本文件。此系统旨在用于期末答辩展示,展示了开发者对Java编程和系统设计的深入理解。
java回顾、知识整理、拾遗、面试_java-review
mysql主从复制用struts2,spring,hibernate框架,搭建在线考试系统。网站支持(1)老师创建题库,创建题目,查看题目对题目进行增删改,发布考试(选择考试难中易比例),批改学生试卷,查看学生成绩。(.zip
一个基于Go语言实现的搜索引擎项目资源
那些年,与你同分同位次的同学都去了哪里?全国各大学在四川2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
基于grpc开发的跨语言的交互系统,集成BCS,Brower
那些年,与你同分同位次的同学都去了哪里?全国各大学在四川2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
那些年,与你同分同位次的同学都去了哪里?全国各大学在四川2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
那些年,与你同分同位次的同学都去了哪里?全国各大学在四川2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
基于go语言,使用gocv和socket实现摄像头视频传输项
apache-seatunnel-web-1.0.2
内容概要:本篇文章主要介绍了如何在VMware虚拟化平台上搭建并配置QNX Neutrino实时操作系统的步骤方法。文章首先给出了获取必要的安装文件来源,然后逐步指导用户如何完成QNX在虚拟机中的安装过程以及相关网络参数配置,包括选择适当的网络模式来实现宿主机器与QNX虚拟机之间的通信,具体为设置NAT模式或者桥接模式下的网络参数,如指定静态或动态获取IP地址的方法。 适用人群:对嵌入式开发感兴趣的技术人士,尤其是需要在Linux环境下开展工作的程序员和系统工程师。 使用场景及目标:通过详细的操作指南帮助初学者快速掌握在Windows或Linux主机上利用虚拟机搭建QNX Real-Time Operating System开发环境的基础技能,能够实现在该环境中运行简单的C/C++应用程序。 其他说明:本文不仅适用于QNX初学者作为入门引导资料,也为经验丰富的开发者提供了有关于特定环境配置的重要参考。由于涉及到的具体细节比较多,读者最好边操作边对照文章内容进行练习。同时要注意保持最新版本的虚拟化平台客户端和服务端程序以确保兼容性和稳定性。
stm32中dma结合ad的使用