您好,欢迎来到易妖游戏网。
搜索
您的当前位置:首页Flex学习整理

Flex学习整理

来源:易妖游戏网
http://www.jb51.net/softs/103853.html#down

Flash Builder 4 有许多新的特性,可以结合新的功能使用新的Flex 4框架创建出更炫的应用。基于用户的反馈,对以数据中心的开发也进行了优化;对类如配置从服务器返回的数据类型这样的任务,也进行了界面上的优化等。这个版本中包含了三个主要的主题:开发人员生产率(Developer Productivity),设计人员-开发人员工作流(Designer-Developer Workflow)和以数据为中心的应用开发(Data-Centric Application Development)等。

记得屏蔽验证HOst:文件位置为:C:\\WINDOWS\\system32\\drivers\\etc

你找到 Hosts 这个文件,然後拖到记事本中,就可以直接修改了。保存时选所有类型 host:

127.0.0.1 activate.adobe.com 127.0.0.1 practivate.adobe.com 127.0.0.1 ereg.adobe.com 127.0.0.1 activate.wip3.adobe.com 127.0.0.1 wip3.adobe.com 127.0.0.1 3dns-3.adobe.com 127.0.0.1 3dns-2.adobe.com 127.0.0.1 adobe-dns.adobe.com 127.0.0.1 adobe-dns-2.adobe.com 127.0.0.1 adobe-dns-3.adobe.com 127.0.0.1 ereg.wip3.adobe.com 127.0.0.1 activate-sea.adobe.com 127.0.0.1 wwis-dubc1-vip60.adobe.com 127.0.0.1 activate-sjc0.adobe.com

然后安装,输入网上找的Adobe Flash builder 4.6序列号,就可完成Flash builder 破解了。

Flash builder 4.6 序列号(转自网络,仅供测试之用,喜欢请购买正版): 1424-4938-3077-5736-3940-50 1424-4827-8874-7387-0243-7331

Flash builder 4.6 序列号: 1424-4938-3077-5736-3940-50 1424-4827-8874-7387-0243-7331 1424-44-3877-6130-5013-5457

记得到C:\\WINDOWS\\system32\\drivers\\etc

打开host文件,如果是win7系统,则修改权限,允许写入,在host中加入一下连接,我想你懂的:host: 127.0.0.1 activate.adobe.com 127.0.0.1 practivate.adobe.com

127.0.0.1 ereg.adobe.com 127.0.0.1 activate.wip3.adobe.com 127.0.0.1 wip3.adobe.com 127.0.0.1 3dns-3.adobe.com 127.0.0.1 3dns-2.adobe.com 127.0.0.1 adobe-dns.adobe.com 127.0.0.1 adobe-dns-2.adobe.com 127.0.0.1 adobe-dns-3.adobe.com 127.0.0.1 ereg.wip3.adobe.com 127.0.0.1 activate-sea.adobe.com 127.0.0.1 wwis-dubc1-vip60.adobe.com 127.0.0.1 activate-sjc0.adobe.com 能否刷点小花啊~~~~~~ 还有有时候他会提示挂起。 1、在开始->运行中输入regedit

2、到HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager 位置 3、选择文件->导出,保存(安全起见)

4、在右边窗口右击PendingFileRenameOperations,选择删除,然后确认 再装就不会出现挂起了 另外一种方法: 具体步骤如下:

1.到Adobe官网下载FlashBuilder 4.6,有简体中文版; 语言:简体中文(Simplified)

http://trials3.adobe.com/AdobeProducts/FLBR/4_6/win32/FlashBuilder_4_6_LS10.exe 2.安装时,不用序列号,直接选择安装试用版; 3.安装完成后在安装目录下依次修改下列3个文件:

(1).eclipse\\plugins\\com.adobe.flexbuilder.project_4.6.0.3216\\META-INF下面的MANIFEST.MF修改: Bundle-Version: 0.0.0

(2).eclipse\\features\\com.adobe.flexide.feature_4.6.0.3216下面的feature.xml修改: id=\"com.adobe.flexbuilder.project\" download-size=\"0\" install-size=\"0\" version=\"0.0.0\"/>

(3).eclipse\\plugins\\com.adobe.flexbuilder.flex_4.6.0.3216下面: 复制config.xml并重命名为config_builder.xml

注:以上紫色文字部分为具体的版本号,请跟据实际版本号进行查找

修改完成之后,再启动Adobe Flash Builder 4.6,恭喜你,你会发现自己彻底拥有了这款RIA工具了。

BlazeDS中Java对象与As 对象的对应关系

2008-09-25 14:15:58| 分类: 编程 - Flex FLAS|举报|字号 订阅

java as java.utile.HashMap Object int int

java.utile.ArrayList ArrayCollection String String

以下是flex 或着FLASH的接受ArrayCollection,Array,Object,的处理

var objCol:ArrayCollection = obj as ArrayCollection; if(objCol != null){ if(objCol.length){

for(var i:int = 0 ;ivar object:Object = objCol.getItemAt(i) as Object; trace(object.id,object.name,object.password); } }

trace(\"数据长度Col:\"+objCol.length); }else{

var objAry:Array = obj as Array; if(objAry != null){ if(objAry.length){

for(var i:int = 0 ;itrace(objAry[i].id,objAry[i].name,objAry[i].password); } }

trace(\"数据长度Ary:\"+objAry.length); }else{

var objmap:Object = obj as Object; if(objmap != null){ switch (obj.Event) { case \"移动\" :

trace(\"把玩家:\"+obj.user+\" 移动到\"+obj.x+\ break;

case \"人物移动\" : trace(\"系统信息\"); break; default : break; } } }

}

使用mx:RemoteObject

2008-09-25 14:28:57| 分类: 编程 - Flex FLAS|举报|字号 订阅

使用mx:RemoteObject

第一步:创建flex项目时指明项目使用远程数据调用,并指明远程服务的contextroot和服务器位置

第二步:在Flex组件中定义RemoteObject

destination 与 remoting-config.xml中的目标配置一致

fault=\"onFault(event);\" fault指定远程调用错误的回调方法

>

result=\"onResult(event);\" result指定结果返回的回调方法

/>

第三步:编写Java服务端对象,简单对象

第四步:配置remoting-config.xml

id与RemoteObject标签中的destination一致

com.zw.action.Portfolio 给出服务端类路径

第五步:部署web应用,该web应用要含有编译好的swf文件

flex的SWF文件无法在jsp中实时的显示 2014年11月23日源创会年度盛典(北京站)正在报名

我的问题是,我在一个负责提交的submit.JSP页中向一个servlet(service)提交一个参数,servlet经过一些列的操作将结果传给另一个result.JSP(里面嵌入了swf文件,是通过js方法与flex进行的交互,并且得到了正确的数据,是一个图),这个图上有一些节点,当我点击节点时flex将节点上数据传给了service(并且得到了数据,经过操作得到数据,继续传给result.jsp),问题出现了,在result.jsp的java块中可以得到正确的数据,但是SWF的显示没有改变(没有显示的原因并非数据有问题,单独将出数据传给flex,是可以正常显示的)。请各位帮忙出出主意下面是我result.jsp的代码: <%

String xml=(String)session.getAttribute(\"flexml\"); System.out.println(\"result.jsp : \"+xml); %>

codebase=\"http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab\">

=

allowScriptAccess=\"sameDomain\" type=\"application/x-shockwave-flash\"

pluginspage=\"http://www.adobe.com/go/getflashplayer\">

誓岩

发帖于 3年前 0回/978阅

标签:  

举报 | 分享到

Apache Flex Java

0收藏(0) 按票数排序 显示最新答案

开发时运行ActionScript手册中的HSlider例子时,编译报错: \"error: unable to resolve 'assets/nokia_.png6630.png' for transcoding

于是在网上找别人的经验,发现结果不少,但文章无论是英文还是中文的都是一样的。

只说把“assets/nokia_6630.png”改成\"/assets/nokia_6630.png\"

我照着他们说的去做,结果是令人叹息的,错误依旧在。

后来仔细跟进发现,原来source=\"@Embed('assets/nokia_6630.png')\"在运行时会去检查MXML的目录而不是SWF所在的目录,只需要把.png放在MXML的目录,错误就解决了~

例如:我的Flex Project中的mxml文件路径是:

F:\\projectLocation\\StepByStep_demo01\\src\\HSliderSample.mxml 图片nokia_6630.png的路径是:

F:\\projectLocation\\StepByStep_demo01\\assets\\nokia_6603.png 因此按照上面所说,应该修改为:

source=\"@Embed('../assets/nokia_6630.png')\"

Action与flex Url 跳转

首先你可以用XML来实现,这个应该来说比较普遍。

不用XML的话,也可以返回数据给FLEX。但是不用action的跳转 public String execute()throws Exception {

if(action.checkUser(getName(), getPassword())) {

response.getWriter().write(\"success\"); }else {

response.getWriter().write(\"error\"); }

return null; }

比如在action里,判断用户登录成功返回success给FLEX,失败返回error. 记住最后要返回null,因为不用action的跳转。

Flex里用HTTPService来发出请求,如下:

{na.text} {password.text}

然后用FLEX接受数据:

private function serviceRequest(event:ResultEvent):void{ if(event.result.toString()==\"success\")

{ ExternalInterface.call(\"function(){window.location.href='http://localhost:8080/JavaEEFlex/Content.html';}\");

}

if(event.result.toString()== \"error\") {

Alert.show('用户名或密码有误'); } }

基本就是如上了。

描述:flex4中httpservice与服务器端交互的值传递问题

方式一:通过标签进行交互,在该标签内部以要传递的参数名作为该标签内的子标签,值作为内容进行传递,服务端接受数据采用request.getParmeter(\"参数名\")获取数据.

示例代码:

flex中的代码:

url=\"http://localhost:8080/testhttpservice/testHttpServiceServlet\" useProxy=\"false\"

fault=\"service_faultHandler(event)\" result=\"service_resultHandler(event)\">

{txtusername.text} {txtpassword.text}

后台接受参数的代码:

//获取flex传递的参数 username password

String username=request.getParameter(\"username\"); //get方式处理乱码

//username=new String(username.getBytes(\"ISO-8859-1\"),\"utf-8\");

String password=request.getParameter(\"password\");

//password=new String(password.getBytes(\"ISO-8859-1\"),\"utf-8\");

方式二:第二种传值方式通过send()方法传值send方法中传递参数 ,服务端接受数据采用request.getParmeter(\"参数名\")获取数据. 示例代码:

//第二种传值方式 通过send()方法传值 send方法中传递参数 //定义一object对象 var val:Object=new Object();

//分别将文本框username,password的值传递到后台 //object对象.参数名=值 传值操作 val.username=txtusername.text; val.password=txtpassword.text; service.send(val); 贴出完整的代码: 服务器端: package com.servlet;

import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List;

import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /**

* 功能描述:flex httpservice与java交互参数传递探讨
* @author sxyx2008
* @date 2010-07-19 * */

@SuppressWarnings(\"serial\")

public class TestHttpServiceServlet extends HttpServlet {

@Override

protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //处理post方式乱码

request.setCharacterEncoding(\"utf-8\"); //设置浏览器输出字符编码

response.setCharacterEncoding(\"utf-8\"); PrintWriter writer=response.getWriter(); //获取flex传递的参数 username password

String username=request.getParameter(\"username\"); //get方式处理乱码

//username=new String(username.getBytes(\"ISO-8859-1\"),\"utf-8\"); String password=request.getParameter(\"password\");

//password=new String(password.getBytes(\"ISO-8859-1\"),\"utf-8\");

//构建一个list存放一些数据用来模拟用户是否存在这一功能 List list=new ArrayList(); list.add(\"张三\"); list.add(\"李四\"); list.add(\"王五\"); list.add(\"曹操\"); list.add(\"孙权\"); list.add(\"刘备\"); //检验用户

if(list.contains(username)){

writer.print(\"存在:\"+username+\"客户端传递的密码是:\"+password); }else{

writer.print(\"找不到:\"+username+\"客户端传递的密码是:\"+password); } } }

flex代码:

xmlns:mx=\"library://ns.adobe.com/flex/mx\" minWidth=\"955\" minHeight=\"600\"> import mx.controls.Alert; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent;

//调用失败

protected function service_faultHandler(event:FaultEvent):void {

Alert.show(\"失败了:\"+event.message,\"提示\"); }

//调用成功

protected function service_resultHandler(event:ResultEvent):void {

Alert.show(\"成功了:\"+event.result as String,\"提示\"); }

//调用

protected function button1_clickHandler(event:MouseEvent):void {

//第一种传值方式 //service.send();

//第二种传值方式 通过send()方法传值 send方法中传递参数 //定义一object对象 var val:Object=new Object();

//分别将文本框username,password的值传递到后台 //object对象.参数名=值 传值操作 val.username=txtusername.text; val.password=txtpassword.text;

service.send(val); } ]]>

url=\"http://localhost:8080/testhttpservice/testHttpServiceServlet\" useProxy=\"false\"

fault=\"service_faultHandler(event)\" result=\"service_resultHandler(event)\">

{txtusername.text} {txtpassword.text}

放大缩小 1.

private var zwidth:int = 1; private var zheight:int = 1;

public function doExpandZoom(event:MouseEvent){ if(zwidth < 1){

zwidth = zwidth * 2; zheight = zheight * 2; }else{ zwidth++; zheight++; }

zoomExpand.originX = 0; zoomExpand.originY = 0;

zoomExpand.zoomWidthFrom = panel.width; zoomExpand.zoomHeightFrom = panel.height; zoomExpand.zoomWidthTo = zwidth ; zoomExpand.zoomHeightTo = zheight ; zoomExpand.play(); }

public function doContractZoom(event:MouseEvent){ if(zwidth == 1){

zwidth = zwidth * 0.5; zheight = zheight * 0.5; }else{ zwidth--; zheight--; }

zoomExpand.originX = 0; zoomExpand.originY = 0;

zoomExpand.zoomWidthFrom = panel.width; zoomExpand.zoomHeightFrom = panel.height; zoomExpand.zoomWidthTo = zwidth ; zoomExpand.zoomHeightTo = zheight ; zoomExpand.play(); } ]]>

2.

import flash.events.MouseEvent;

public function doZoom(event:MouseEvent):void { if (zoomAll.isPlaying) { zoomAll.reverse(); } else {

// If this is a ROLL_OUT event, play the effect backwards. // If this is a ROLL_OVER event, play the effect forwards. zoomAll.play([event.target], event.type == MouseEvent.ROLL_OUT ? true : false); } } ]]>

paddingTop=\"5\" paddingLeft=\"10\" paddingRight=\"10\" paddingBottom=\"5\">

text=\"Move the mouse over the image to enlarge it. Move the mouse off of the image to shrink it.\"/>

source=\"@Embed(source='assets/Nokia_6630.png')\"

scaleX=\".5\" scaleY=\".5\" rollOver=\"doZoom(event)\" rollOut=\"doZoom(event)\"/>

3.

horizontalAlign=\"center\" backgroundGradientColors=\"[0x000000,0x323232]\" paddingTop=\"0\" viewSourceURL=\"srcview/index.html\">

private function smoothImage(ev:Event):void{

//set image smoothing so image looks better when transformed. var bmp:Bitmap = ev.target.content as Bitmap; bmp.smoothing = true; } ]]>

Player 9-player 10

FlexBuilder3.2默认是用Flash9来调试的,但随着Flash10的发布,很多的浏览器都已经升级到Flash10,但FlexBuilder3.2还没有及时更新,导致每次调试Flex/Air项目都弹出提示框说定位不到Flash9的调试器,很是不爽!不过现在可以通过以下步骤来让FlexBuilder3.2在Flash10下调试和运行:

第一部分:

1.选中一个已存在的Flex或Air项目,右键->Properties,打开Properties对话框

2.定位到Flex Build Path->Library Path,将原来在Flex3.2下的playerglobal.swc移除,然后Add SWC,添加<%flexbuilder3%>\\sdks\\3.2.0\\frameworks\\libs\\player\\10\\playerglobal.swc(注:<%flexbuilder3%>为flexbuilder3的安装目录)

3.点击OK,让FlexBuilder3.2进行重新编译

第二部分: 4.重复步骤1

5.定位到Flex Complier,将Require Flash Player version设置为10.0.10

6.点击OK,让FlexBuilder3.2进行重新编译

通过上面的设置就可以让FlexBuilder3.2在Flash10下调试和运行,大家可以试试

项目中,如果写好的Java方法,不能被Flex前端调用到(配置正确前提下),原因解决办法: 方法一:此方法是在services-config.xml文件中,未改动的情况下使用。

[javascript] view plaincopy

1. 2. destination = \"first\" 3. result = \"\" 4. \"resultHandler(event)\"/> 5.

6. 加上endpoint属性 7.

8. endpoint=\"http://localhost:8080/项目名称/messagebroker/amf\"

方法二:

在services-config.xml文件中找到

-

s=\"flex.messaging.endpoints.AMFEndpoint\" />

将{context.root}改成项目名称即可。

两种方法中,如果选择第二种,第一种就可不用加上endpoint属性。 方法三:

或者将方法重新修改名称或者参数个数,名称也可能会可以

package {

import flash.display.Sprite;

import flash.net.navigateToURL; import flash.net.URLRequest;

as 3.0 URLRequest时用URLVariables传参

import flash.net.URLVariables;

public class URLVariablesExample extends Sprite { public function URLVariablesExample() {

var url:String = \"http://www.[yourDomain].com/application.jsp\"; var request:URLRequest = new URLRequest(url);

var variables:URLVariables = new URLVariables(); variables.exampleSessionId = new Date().getTime(); variables.exampleUserLabel = \"guest\"; request.data = variables;

navigateToURL(request); } } }

flex 万能的navigateToURL方法啊~

2008-07-22 14:14:26| 分类: Flex|举报|字号 订阅

navigateToURL() 可以用来打开一个新的浏览器窗口,也可以用来flex和js之间的通信。比如:

打开一个新窗口:

var url:URLRequest = new URLRequest(http://blog.csdn.net); navigateToURL(url, _blank); 这个函数也可以用来执行js,例如:

var url:URLRequest = new URLRequest(“javascript:window.close()”); 或者: var urlLURLRequest = new URLRequest(“javascript:myFun(para1…paran)”) myFun()函数是html页面的script部分定义的,函数参数一定要有引号! navigateToURL(url, _self); 也可以用来发送email:

var urlURLRequest = new URLRequest(mailto:zoushun@hotmail.com); navigateToURL(url, _blank);

ctrl B 自动编译 ctrl C 注释

selectedIndex==-1未选中

datagrid 排序

var sort:Sort=new Sort();

var sorF:SortFiled=new SortFiled(‘score’,false,true); sort.fileds=new Array(sortF); dgdp.sort=sort; 刷新 removeAll AdvanceDatagrid

e.geteventobject();发生事件对象

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- vipyiyao.com 版权所有 湘ICP备2023022495号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务