- 浏览: 101955 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
chensong215:
无法获取到ProgressEvent中的bytesTotal
自定义DownloadProgressBar -
qq2464785999:
非常感谢。
测试后,发现要用相对路径的话,好像要这么写
va ...
Flex写XML文件
加载子SWF的Flex程序代码
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.managers.SystemManager;
import mx.controls.Label;
[Bindable]
public var loadedSWF:SystemManager;
private function initNestedAppProps():void {
loadedSWF = SystemManager(myLoader.content);
}
public function updateLabel():void {
lbl.text=loadedSWF.application["text_1"].text;
}
// Write to the Label control in the loaded application.
public function updateNestedLabels():void {
loadedSWF.application["text_2"].text = text_value.text;
}
]]>
</mx:Script>
<mx:Label id="lbl" x="204" y="69" fontSize="12"/>
<mx:SWFLoader id="myLoader" width="250" height="200"
source="subswf.swf"
creationComplete="initNestedAppProps();" x="13" y="124"/>
<mx:Button label="获得加载SWF中的控制值"
click="updateLabel();" fontSize="12" x="10" y="65"/>
<mx:Button label="修改加载SWF中的控制值"
click="updateNestedLabels();" fontSize="12" x="10" y="33"/>
<mx:TextInput id="text_value" x="192" y="35" fontSize="12"/>
</mx:Application>
子SWF程序代码
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Panel x="0" y="0" width="250" height="200" layout="absolute" title="加载的SWF文件" fontSize="12">
<mx:TextInput id="text_1" x="10" y="41" fontSize="12" text="大家好,我是FLEX"/>
<mx:TextInput id="text_2" x="10" y="88" fontSize="12"/>
</mx:Panel>
</mx:Application>
如果需要调用子swf的方法,可以将loadSwf的application转换成Object,然后再调用子swf中的方法,否则会出现找不到方法的错误。
var loadSwf:SystemManager = SystemManager(myLoader.content);
(loadSwf.application as Object).test();
源码下载
#===============================================================================
后来在使用发现上面的代码还是有隐患的,如果被加载的swf文件比较大,可能出项_loadSwf中的application值为null的情况。
下面是我补充的一段代码。
补充代码
private var _loadSwf:SystemManager;
private var content:Image;
private function onLoadCompleted(event:Event):void
{
_loadSwf = SystemManager(content.content);
_loadSwf.addEventListener(FlexEvent.APPLICATION_COMPLETE,swfReady);
function swfReady(event:FlexEvent):void
{
_loadSwf.removeEventListener(FlexEvent.APPLICATION_COMPLETE,swfReady);
(_loadSwf.application as Object).test();
}
}
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.managers.SystemManager;
import mx.controls.Label;
[Bindable]
public var loadedSWF:SystemManager;
private function initNestedAppProps():void {
loadedSWF = SystemManager(myLoader.content);
}
public function updateLabel():void {
lbl.text=loadedSWF.application["text_1"].text;
}
// Write to the Label control in the loaded application.
public function updateNestedLabels():void {
loadedSWF.application["text_2"].text = text_value.text;
}
]]>
</mx:Script>
<mx:Label id="lbl" x="204" y="69" fontSize="12"/>
<mx:SWFLoader id="myLoader" width="250" height="200"
source="subswf.swf"
creationComplete="initNestedAppProps();" x="13" y="124"/>
<mx:Button label="获得加载SWF中的控制值"
click="updateLabel();" fontSize="12" x="10" y="65"/>
<mx:Button label="修改加载SWF中的控制值"
click="updateNestedLabels();" fontSize="12" x="10" y="33"/>
<mx:TextInput id="text_value" x="192" y="35" fontSize="12"/>
</mx:Application>
子SWF程序代码
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Panel x="0" y="0" width="250" height="200" layout="absolute" title="加载的SWF文件" fontSize="12">
<mx:TextInput id="text_1" x="10" y="41" fontSize="12" text="大家好,我是FLEX"/>
<mx:TextInput id="text_2" x="10" y="88" fontSize="12"/>
</mx:Panel>
</mx:Application>
如果需要调用子swf的方法,可以将loadSwf的application转换成Object,然后再调用子swf中的方法,否则会出现找不到方法的错误。
var loadSwf:SystemManager = SystemManager(myLoader.content);
(loadSwf.application as Object).test();
源码下载
#===============================================================================
后来在使用发现上面的代码还是有隐患的,如果被加载的swf文件比较大,可能出项_loadSwf中的application值为null的情况。
下面是我补充的一段代码。
补充代码
private var _loadSwf:SystemManager;
private var content:Image;
private function onLoadCompleted(event:Event):void
{
_loadSwf = SystemManager(content.content);
_loadSwf.addEventListener(FlexEvent.APPLICATION_COMPLETE,swfReady);
function swfReady(event:FlexEvent):void
{
_loadSwf.removeEventListener(FlexEvent.APPLICATION_COMPLETE,swfReady);
(_loadSwf.application as Object).test();
}
}
发表评论
-
flex 自定义多个命名空间以及标签名
2013-01-22 15:21 1363flex 自定义多个命名空 ... -
FLEX中使用AS动态创建DataGrid
2013-01-09 16:24 930FLEX中使用AS动态创建DataGrid 2010年2月6日 ... -
flex与flash之间相互调用
2012-12-12 12:39 647http://www.cnblogs.com/kaixuan/ ... -
[AS3]加载视频(FLV)文件
2012-12-06 15:11 875[AS3]加载视频(FLV)文件 分类: FLEX/CS3-- ... -
通过FileReference打开本地图片崩溃的解决方法
2012-12-06 14:02 728通过FileReference打开本地图片崩溃的解决方法 最近 ... -
使用FileReference的load()方法加载本地图片
2012-12-06 13:56 9621、要想使用FileReference的load()方法和da ... -
[AS3]Bitmap序列化(将BitmapData保存为原生Binary/ByteArray)
2012-12-06 13:48 764[AS3]Bitmap序列化(将BitmapData保存为原生 ... -
as3 画五角星算法
2012-12-05 16:49 2651as3 画五角星算法 阅读:10次 时间:2012-03- ... -
flex嵌入完整html
2012-11-29 11:18 820有时候我们需要在Flex应用中嵌入HTML代码,根据嵌入HTM ... -
flex4 textArea的htmlText属性
2012-11-29 11:13 3135它现在包含Text布局框架(Text Layout Frame ... -
Tooltip应用
2012-11-29 11:11 739创建ToolTip: var errorToolTip:To ... -
数据绑定显示问题
2012-10-27 12:11 714数据绑定实时变化。 XMLListCollection 可以变 ... -
待解决问题
2012-09-18 23:48 7361.仪表盘 2.渐变填充的使用 3.发光效果的完美运用 能在一 ... -
as3加载外部图片的两种方式
2012-09-09 11:46 1073package net.burchin.loading { ... -
公式as3
2012-09-06 18:13 0as3 1人收藏此文章, 我要收藏 发表于1年前(2011-0 ... -
Flex中多线程的实现
2012-09-06 10:49 3548破阵子_如是我闻 如是我闻。一时佛在舍卫国,祗树给孤独园.. ... -
自定义column renderer
2012-08-09 15:07 985<?xml version="1.0" ... -
drowshadowFilter
2012-08-09 15:05 698DropShadowFilter 类,在Flash中为各种对象 ... -
123123
2012-08-08 17:16 0http://www.oschina.net/code/sni ... -
flex 画面快照截图与显示
2012-08-08 11:32 1070一、对指定画面进行快 ...
相关推荐
另一种实现C#与SWF通信的方法是通过Socket编程。这种方法更加灵活,但实现起来相对复杂。 总之,SWF文件之间的通信、Flex与SWF之间的通信以及C#与SWF之间的通信是实现复杂富互联网应用的重要技术手段。掌握这些...
Flex中SWF和其他SWF文件之间的通信原理。该案例中TestLocalConnection为主SWF文件加载了TestLocalConnectionReceiver.SWF,两者之间是在同一个域下的通信,工程代码编译路径需要下载者手动修改下。其他技术细节参见...
这里讲述的是在Flex Application中嵌套一个SWF,然后实现Flex与SWF相互间的通讯。我们需要引入SystemManager接口实现。 环境:Eclipse + Flex Builder
如果SWF文件内部没有暴露必要的控制接口,我们可能需要通过反射或者其他方式与SWF进行通信。ActionScript 3的`flash.utils.getDefinitionByName()`函数可以帮助我们获取SWF内部的类或函数。 6. **Flex与Flash集成...
本篇文章将探讨一个关于“flex与js通信”的小例子,它主要涉及到Adobe Flex和JavaScript之间的交互,这对于创建富互联网应用程序(RIA)是非常重要的。Flex是一种用于构建富客户端应用的开源框架,基于ActionScript...
此外,为了确保安全性和性能,Flex和SWF之间的通信可能会受到沙箱限制。通常,加载的SWF文件会位于不同的安全域中,这可能会影响它们之间的交互。因此,你可能需要设置`LoaderContext`来允许跨域通信,或者在SWF头部...
总之,控制Flex中外部SWF的播放进度需要理解`Loader`类、事件监听、以及可能的跨域和通信策略。如果外部SWF提供了合适的API,那么控制将变得更加直接;否则,可能需要利用技巧和工作来模拟播放进度。通过深入研究和...
综上所述,"flex+java 项目创建 和 例子"这个主题涵盖的内容广泛,包括技术栈的配置、项目结构的设计、前端与后端的通信、实际应用场景的示例,以及开发过程中的注意事项。对于想要学习或提升Flex与Java集成开发技能...
Flex与Java通信是Web开发中的一个重要技术组合,... 通过Flex与Java的结合,开发者可以创建功能强大的、具有实时通信功能的Web应用,提供流畅的用户体验。这个完整示例将帮助开发者深入理解这一技术,并快速上手实践。
6. **部署**:将编译后的SWF文件集成到Web服务器,通过HTML页面嵌入SWF,或者使用Flex的HTTPService、WebService等方式与服务器通信。 总之,Flex作为一种强大的富客户端开发技术,拥有丰富的功能和良好的生态系统...
为了克服这个问题,开发者需要在Flex的SWF文件中添加相应的跨域策略文件,允许JavaScript与特定源的SWF进行通信。 在"JS与AS3"的压缩包中,可能包含了一个或多个示例项目,用于演示JS与Flex的互转通信。这些示例...
尽管Flex主要使用ActionScript 3(AS3),但有时出于兼容性或历史原因,我们仍需加载和交互与AS2编写的SWF。 1. Flex中的SWF加载机制: 在Flex中,我们可以使用`flash.display.Loader`类来加载SWF文件。这个类提供...
在Flex中,一个模块是一个可以独立编译和加载的SWF文件,它可以在运行时动态插入到主应用程序中。模块化设计使开发者能够将应用拆分为更小、更专注的功能单元,每个单元都可以单独开发和测试。 要实现Flex模块间的...
标题中的"Flash Flex与JS通信"指的是如何让运行在Adobe Flash Player中的Flex应用与浏览器中的JavaScript代码进行数据交换和功能调用。这种通信机制通常被称为External Interface或Bridge技术,它允许Flex应用与网页...
1. **嵌入Flash内容到Flex项目**:Flex项目可以嵌入SWF格式的Flash内容,这允许开发者在Flex应用中利用已有的Flash资源。通过使用`mx.controls.MovieClip`或`mx.controls.VideoDisplay`组件,可以轻松地在Flex界面中...
这个过程涉及到多个步骤,包括创建Flex项目、构建MFC应用程序、集成Flex控件以及实现两者间的通信。 首先,我们需要了解MFC。MFC是微软提供的一套面向对象的类库,基于Windows API,用于简化Windows应用程序的开发...
Spring还支持RESTful服务,这使得Flex客户端能够轻松地与Spring后端进行通信。 **整合过程** 1. **配置Spring**:首先,需要在Spring项目中配置HTTP服务,例如使用Spring Boot的嵌入式Tomcat服务器,或者配置独立的...
通过 Flex 的 ExternalInterface API,你可以实现 Flex 应用程序与 HTML 之间的通信。在 Flex 代码中,你需要启用 ExternalInterface 并定义公开的 JavaScript 可调用方法。在 HTML 中,可以通过 JavaScript 来调用...
在项目设置中,需要指定SWF(Flex编译出的可执行文件)与Java服务器的通信方式,如使用HTTP服务、 BlazeDS 或者LCDS(LiveCycle Data Services)。 2. **BlazeDS集成**: BlazeDS是Adobe提供的免费服务器端组件,...
标题中的"C#与Flex交互"指的是在开发过程中,使用C#作为后端处理逻辑,而Flex作为前端用户界面,两者之间进行数据和功能的通信。Flex是一种基于Adobe AIR和Flash Player运行时的开源框架,主要用于构建富互联网应用...