掌握以下几点,就可以做一个Flex的小项目了~~~~~
2011-06-23 15:31
225 查看
1.弹出新窗口
Flex通过PopUpManager类来实现弹出新窗口:
先设置好要弹出窗口的页面,然后在主窗口中先new出弹出窗口的对象,然后可以对弹出窗口的属性进行
赋值,
var genggai : GengGaiWindow = new GengGaiWindow();
genggai.logId = adg.selectedItem.id;
使用PopUpManager类中的以下两个方法弹出窗口:
PopUpManager.addPopUp(genggai,this);
PopUpManager.centerPopUp(genggai);
使用PopUpManager类中以下方法关闭已弹出的窗口:PopUpManager.removePopUp(this);
2.页面跳转——多视图切换
Flex应用中,可以实现依据用户的不同需求进行补同视图间的切换,此过程中只有一个视图被显示在顶层
,其他视图以堆叠的形式被隐藏。这一功能是同过ViewStack容器实现的。 ViewStack包含的容器都是一
个视图,视图间的切换要通过其他组件或编写ActionScript来实现。
在本例中,<mx:ViewStack >标签下的视图:
<mx:Canvas id=“View1”> 视图View1 </mx:Canvas>
<mx:Canvas id=“View1”> 视图View2 </mx:Canvas>
视图间切换:viewstack1.selectedChild=View2;
3.Flex访问服务端的java应用
基于LCDS的Flex应用最强大的功能就是能够直接通过LCDS调用服务端的java代码(通过使用Remoting服务
的方式):
使用时将后端的java类在remoting-config.xml配置文件当中描述,然后通过Flex将配置文件中的别
名当作远程对象进行调用。配置文件:
<destination id="UserService">
<properties> <source>service.UserService</source> </properties>
</destination>
页面中通过以下标签替代直接只用类库调用远程对象:
<mx:RemoteObject id=“userService” destination=“ UserService ”/>
声明RemoteObject类实例的同时指明了remoting-config.xml配置文件中声明的java类的别名,这
样就可以调用远程java类了:
userService.login(strname,strpwd);
4.Flex页面接收java类的返回值
Flex不能直接接收java类的返回值,需要通过以下方法:
首先在声明远程java类的同时,指明调用该java类的某个方法时,返回值通过某个ActionScript来
处理:
<mx:RemoteObject id="logService" destination="LogService">
<mx:method name="getTotalPages" result="getTotelResult(event)"/>
</mx:RemoteObject>
接下来在ActionScript中接收java类的传值:
private function getTotelResult(evt:ResultEvent):void{
totlepage = evt.result as int; }
上述过程第一步,也可以放在ActionScript中,比如在某个ActionScript 中:
logService.addEventListener(ResultEvent.RESULT,functionResult);
5.页面动态实时显示列表
JAVA里的LIST、ARRAYLIST对应到FLEX里可以用ArrayCollection来接收。要做到动态地显示列表,首先动
态绑定页面中的ArrayCollection类:[Bindable]
public var logAC : ArrayCollection = new ArrayCollection();
接着还要实现列表的动态刷新,删除某一项时:
调用this.initWindow()使页面刷新;
添加新日志时:
调用mmm.initWindow()使主页面刷新,其中mmm为主页面类型的对象(var mmm :
FlexTest;),在弹出添加窗口时,主页面将自己副给添加窗口的mmm属性,
public function gotoDetail3():void{
var tianjia : TianJiaWindow = new TianJiaWindow();
tianjia.mmm = this;
PopUpManager.addPopUp(tianjia,this);
PopUpManager.centerPopUp(tianjia); }
6.Flex中类似超链接的实现
Flex中没有超链接,可以变相的实现超链接,首先定义链接的地址:
public var u:URLRequest = new URLRequest
("http://localhost:8080/FlexTest/bin/FlexTest.html");
写一个ActionScript,利用navigateToURL(u,‘_self’)方法链接到以上地址:
private function clickTTSelectResult(event:CloseEvent) :void
{navigateToURL(u,'_self');}
页面中的链接按钮,调用以上的ActionScript:
<mx:LinkButton x="508" y="405" label="退出" width="66" height="20" fontSize="11"
click="popTAlert()" />
7.利用FileReference上传文件
需要被上传的文件被声明为FileReference类。
打开文件浏览窗口用: file.browse(allTypes); 注意FileFilter的用法,它不能直接作为
FileReference类的成员函数browse的参数,要放入数组allTypes中。 具体上传代码:
var request: URLRequest = new URLRequest
("http://localhost:8080/FlexTest/FileUploadServlet?userid="+userid);
//request.data = "userid = " + userid;
file.upload(request);
flex切换页面常用方法
flex 使用viewstack实现页面的跳转
Flex通过PopUpManager类来实现弹出新窗口:
先设置好要弹出窗口的页面,然后在主窗口中先new出弹出窗口的对象,然后可以对弹出窗口的属性进行
赋值,
var genggai : GengGaiWindow = new GengGaiWindow();
genggai.logId = adg.selectedItem.id;
使用PopUpManager类中的以下两个方法弹出窗口:
PopUpManager.addPopUp(genggai,this);
PopUpManager.centerPopUp(genggai);
使用PopUpManager类中以下方法关闭已弹出的窗口:PopUpManager.removePopUp(this);
2.页面跳转——多视图切换
Flex应用中,可以实现依据用户的不同需求进行补同视图间的切换,此过程中只有一个视图被显示在顶层
,其他视图以堆叠的形式被隐藏。这一功能是同过ViewStack容器实现的。 ViewStack包含的容器都是一
个视图,视图间的切换要通过其他组件或编写ActionScript来实现。
在本例中,<mx:ViewStack >标签下的视图:
<mx:Canvas id=“View1”> 视图View1 </mx:Canvas>
<mx:Canvas id=“View1”> 视图View2 </mx:Canvas>
视图间切换:viewstack1.selectedChild=View2;
3.Flex访问服务端的java应用
基于LCDS的Flex应用最强大的功能就是能够直接通过LCDS调用服务端的java代码(通过使用Remoting服务
的方式):
使用时将后端的java类在remoting-config.xml配置文件当中描述,然后通过Flex将配置文件中的别
名当作远程对象进行调用。配置文件:
<destination id="UserService">
<properties> <source>service.UserService</source> </properties>
</destination>
页面中通过以下标签替代直接只用类库调用远程对象:
<mx:RemoteObject id=“userService” destination=“ UserService ”/>
声明RemoteObject类实例的同时指明了remoting-config.xml配置文件中声明的java类的别名,这
样就可以调用远程java类了:
userService.login(strname,strpwd);
4.Flex页面接收java类的返回值
Flex不能直接接收java类的返回值,需要通过以下方法:
首先在声明远程java类的同时,指明调用该java类的某个方法时,返回值通过某个ActionScript来
处理:
<mx:RemoteObject id="logService" destination="LogService">
<mx:method name="getTotalPages" result="getTotelResult(event)"/>
</mx:RemoteObject>
接下来在ActionScript中接收java类的传值:
private function getTotelResult(evt:ResultEvent):void{
totlepage = evt.result as int; }
上述过程第一步,也可以放在ActionScript中,比如在某个ActionScript 中:
logService.addEventListener(ResultEvent.RESULT,functionResult);
5.页面动态实时显示列表
JAVA里的LIST、ARRAYLIST对应到FLEX里可以用ArrayCollection来接收。要做到动态地显示列表,首先动
态绑定页面中的ArrayCollection类:[Bindable]
public var logAC : ArrayCollection = new ArrayCollection();
接着还要实现列表的动态刷新,删除某一项时:
调用this.initWindow()使页面刷新;
添加新日志时:
调用mmm.initWindow()使主页面刷新,其中mmm为主页面类型的对象(var mmm :
FlexTest;),在弹出添加窗口时,主页面将自己副给添加窗口的mmm属性,
public function gotoDetail3():void{
var tianjia : TianJiaWindow = new TianJiaWindow();
tianjia.mmm = this;
PopUpManager.addPopUp(tianjia,this);
PopUpManager.centerPopUp(tianjia); }
6.Flex中类似超链接的实现
Flex中没有超链接,可以变相的实现超链接,首先定义链接的地址:
public var u:URLRequest = new URLRequest
("http://localhost:8080/FlexTest/bin/FlexTest.html");
写一个ActionScript,利用navigateToURL(u,‘_self’)方法链接到以上地址:
private function clickTTSelectResult(event:CloseEvent) :void
{navigateToURL(u,'_self');}
页面中的链接按钮,调用以上的ActionScript:
<mx:LinkButton x="508" y="405" label="退出" width="66" height="20" fontSize="11"
click="popTAlert()" />
7.利用FileReference上传文件
需要被上传的文件被声明为FileReference类。
打开文件浏览窗口用: file.browse(allTypes); 注意FileFilter的用法,它不能直接作为
FileReference类的成员函数browse的参数,要放入数组allTypes中。 具体上传代码:
var request: URLRequest = new URLRequest
("http://localhost:8080/FlexTest/FileUploadServlet?userid="+userid);
//request.data = "userid = " + userid;
file.upload(request);
flex切换页面常用方法
flex 使用viewstack实现页面的跳转
相关文章推荐
- 一个真实的项目经历,很多东西大家可以借鉴下
- 做一个完整的Java Web项目需要掌握的技能
- Flex的一个小项目,提供项目源码下载
- 怎么让一个项目里swift与OC可以兼容混合开发?
- 简单写了一个MVP项目,有兴趣可以看看
- 做一个完整的Java Web项目需要掌握的技能
- 编译一个可以不依赖vs的release项目
- 项目中封装了一个弹出框但是点击上面的按钮就崩溃,尽在iOS9.0以下版本出现
- android开发(如何开发一个可以维护的好项目):四 、项目结构
- 成功开发一个项目,我们应掌握哪些知识呢?
- 第一次尝试——使用Retrofit+Dagger架构一个拿来就可以使用的Android空项目
- flex 学习笔记 一个可以动态缩放的tree
- 一个项目中的多个类中可以包含main()
- 一个最简单的点击桌面小部件图片打电话 8.0以下可以使用
- Flex中如何给DataGrid控件的项目添加一个可编辑TextArea/TextInput,单击控件内的项目时,自动进入编辑状态
- 最近写的一个项目包含的几点小知识
- 使用springtoolsuit的原因是因为可以整合flex项目
- 发现了一个可以选择日期和时间的控件,我做了部分的修改,以适合我的项目,有兴趣的可以下载
- 这是一个用于拦截android实时短信的库,可以进行短信过滤,得到自己想要的内容,可以用于需要自动填写短信验证码的app项目
- 如何把一个目录及其以下的所有文件在qmake项目中打包