`
keren
  • 浏览: 1585201 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Flex 开发点滴

    博客分类:
  • Flex
阅读更多
*显示图片

loading方式加载图片
<mx:Image source="assets/dairy_milk.jpg" scaleContent="true"/>


把图片compile进swf
<mx:Image source="@Embed('assets/dairy_milk.jpg')" scaleContent="true"/>


TextField.restrict = "此处为可输入的内容";
field.restrict = "^此处为禁止输入的内容";
restrict属性支持一些类似正则表达式的样式:
field.restrict = "a-zA-z"; //只允许大小字母
field.restrict = "a-zA-z "; //只允许字母和空格
field.restrict = "0-9"; //只允许数字
field.restrict = "^abcdefg"; //除了小写字母abcdefg不允许外,其它都允许
field.restrict = "^a-z"; //所有小写字母都不允许,但是,其它内容都允许,包括大写字母
field.restrict = "0-9^5"; //只允许数字,但5例外
让restrict字符包含具有特殊意义的字母(例如-和^):
field.restrict = "0-9\\-"; //允许数字和破折号
field.restrict = "0-9\\^"; //允许数字和^
field.restrict = "0-9\\\\"; //允许数字和反斜杠
你也可以使用Unicode转义序列,指定允许的内容.例如:
field.restrict = "^\u001A";
注意:ActionScript有区分大小写的,如果restrict属性设为abc,允许字母的大写形式(A,B和C)输入时会变成小写对待形式(a,b和c),反之亦然.restrict属性只影响用户可以输入的内容,脚本可将任何文本放入文本字段中.

【设定输入框的最大长度】
TextField.maxChars:int

【向TextField追加内容】
TextField.appendText(text:String):void
与通过对 text 属性使用加法赋值来连接两个字符串(例如 field.text += moreText)相比,此方法的效率更高.

【显示HTML格式的文字】
TextField.htmlText = "<b>Html text</b>";
支持的HTML标签集有: <b>,<i>,<u>,<font>(有face,size以及color属性),<p>,<br>,<a>,<li>,<img>以及<textformat>(有leftmargin,rightmargin,blockindent,indent,leading以及tabstops属性,相应于TextFormat类的同名属性)

【缩减空白】
TextField.condenseWhite = true;
删除具有HTML文本的文本字段中的额外空白(空格,换行符等),如同多数HTML浏览器所做的那样.
注意: 在设置 htmlText 属性之前设置 condenseWhite 属性

【自动大小调整和对齐】
TextField.autoSize = TextFieldAutoSize.LEFT;
可选之值:
flash.text.TextFieldAutoSize.CENTER
flash.text.TextFieldAutoSize.LEFT
flash.text.TextFieldAutoSize.NONE
flash.text.TextFieldAutoSize.RIGHT

【指示文本字段是否自动换行】
TextField.wordWrap = true; //自动换行

【用程序手段滚动文字】
水平方向以像素为单位,而垂直方向以行做单位:
scrollV: 指出文字框可见区域的最顶行,可读写;
bottomScrollV: 指出文字框内最底端可见行,只读;
maxScrollV: scrollV的最大值,只读;
numLines: 定义多行文本字段中的文本行数,只读;
TextField.scrollV = field.maxScrollV; //滚动到最后一页

【响应滚动事件】
field.addEventListener(Event.SCROLL, onTextScroll);

【样式化文字的方法】
1. 使用HTML标签进行样式化;
2. 使用TextFormat对象;
3. 使用CSS.
例如: HTML是用<font>标签,TextFormat对象是设定font属性,而CSS是使用font-family属性的.
受支持的层叠样式表(CSS)属性和值,及其相应的ActionScript属性名称(小括号内):
color(color),display(display),font-family(fontFamily),font-size(fontSize),font-style(fontStyle),font-weight(fontWeight),kerning(kerning),leading(leading),letter-spacing(letterSpacing),margin-left(marginLeft),margin-right(marginRight),text-align(textAlign),text-decoration(textDecoration),text-indent(textIndent)
受支持的HTML实体: <(小于号: <), >(大于号: >), &(和: &), "(双引号: "), '(撇号,单引号: &apos;)
其中样式对象的两种写法:
写法一:
var sampleStyle:Object = new Object();
sampleStyle.color = "#FFFFFF";
sampleStyle.textAlign = "center";
css.setStyle(".sample", sampleStyle);
写法二:
var sampleStyle:Object = {color: "#FFFFFF", textAlign: "center"};
css.setStyle(".sample", sampleStyle);

【对用户输入的文字进行样式化】
使用defaultTextFormat属性,样式会施加至用户键入输入框的文字身上:
var formatter:TextFormat = new TextFormat();
formatter.color = 0x0000FF; //把文字变成蓝色
field.defaultTextFormat = formatter;

【对现有文字的一部分进行样式化】
TextFormat.setTextFormat(format:TextFormat, beginIndex:int = -1, endIndex:int = -1):void

【设定文字框的字体】
例子:
HTML: field.htmlText = "<font face='Arial'>Formatted text</font>";
TextFormat: formatter.font = "Arial";
CSS: P{ font-family: Arial; }
也可以使用以逗号隔开的字体清单: formatter.font = "Arial, Verdana, Helvetica";
注意:
字体和字体群组不同.字体群组有三种: _sans,_serif以及_typewriter.
_sans群组一般就是指Arial或Helvetica这种字体;
_serif群组一般就是指Times或Times New Roman这种字体;
_typewriter群组一般就是指Courier或Courier New这种字体.

【嵌入字体】
使用[Embed]后设标签.[Embed]后设标签应该出现在ActionScript文件中,处于类宣告之外.你可以内嵌TrueType字体或系统字体.内嵌TrueType字体时的语法:
[Embed(source="pathToTtfFile", fontName="FontName", mimeType="application/x-font-truetype")]
pathToTtfFile: ttf文件的路径,TrueType字体的路径可以是相对的,也可以是绝对的;
FontName: 字体名称;
内嵌系统字体的语法:
[Embed(systemFont="Times New Roman", fontName="Times New Roman", mimeType="application/x-font-truetype")]
fontName: 以相同名称作为实际系统字体名称.
注意: 在使用嵌入字体时,要把TextField的embedFonts属性设为true,这样TextField只能用内嵌字体了.如果你试着替embedFonts设为true的TextField使用设备字体,什么都不会显示.如果embedFonts设为true,就无法指定以逗号相隔的字体清单.

【建立可以旋转的文字】
使用内嵌字体.当你旋转文字框时,设备字体就会消失.

【显示Unicode文字】
1. 从外部来源载入Unicode文字;
2. 假如你的编辑器支持Unicode(如 Flex Builder),则可以直接在ActionScript程序中使用该字符;
3. 使用Unicode转义字符,ActionScript里所有Unicode转义字符都以\u开头,后面再跟四位十六进制数字.
注意: 如果你想取得Unicode字符,在Windows下使用: 开始>所有程序>附件>系统工具>字符映射表.

【把Flash Player的焦点带给文字框】
stage.focus = field;
把焦点移除:
stage.focus = null;
注意: 当.swf文件首次载入至网页浏览器时,并没有焦点.因此,以程序的方式把焦点指定给Flash应用程序的一个元素前,必须先把焦点移至Flash Player.

【以ActionScript选取文字】
使用TextField.setSelection(beginIndex:int, endIndex:int):void
为了可以正常选取文字,文字框必须具有焦点:
stage.focus = field; //把焦点设给文字框
field.text = "This is example text"; //设定文字
field.setSelection(0, 4); //把"This"这个单词以高亮显示
使用只读的selectionBeginIndex和selectionEndIndex属性访问所选取的字符范围的索引.

【在文字内设定安插点(游标位置)并访问游标位置的索引值】
可以使用TextField.setSelection()把起始和结尾的索引参数都设成相同值,在文字内设定游标位置(假设具有焦点):
field.setSelection(0, 0); //在第一个字符前摆放安插点
trace(field.caretIndex); //输出游标位置的索引值

【当文本字段受到选取或取消选取时给予响应】
获得焦点时: FocusEvent.FOCUS_IN
失去焦点时: FocusEvent.FOCUS_OUT
通过键盘(Tab键)把焦点移除时: FocusEvent.KEY_FOCUS_CHANGE
通过鼠标把焦点移除时: FocusEvent.MOUSE_FOCUS_CHANGE
FocusEvent类有一个relatedObject属性.就FOCUS_IN事件而言,relatedObject属性是刚才拥有焦点的对象的引用地址;对于FOCUS_OUT,KEY_FOCUS_CHANGE以及MOUSE_FOCUS_CHANGE事件,relatedObject属性是刚接收到焦点的对象的引用地址.
FOCUS_IN和FOCUS_OUT事件都是在焦点改变后发生的,所以两者都是不可取消的事件.对于KEY_FOCUS_CHANGE和MOUSE_FOCUS_CHANGE事件,可以使用FocusEvent.preventDefault()方法取消默认行为:
field.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, onKeyFocus);
private function onKeyFocus(event:FocusEvent):void {
    if(field.text == "") {
        event.preventDefault(); //当field没有任何文字前,不允许使用Tab键把焦点移除
    }
    //event.relatedObject就是刚才拥有焦点的对象的引用地址,即下一个获得焦点的对象的引用地址
}

【响应用户的输入行为】
field.addEventListener(TextEvent.TEXT_INPUT, onTextInput);
private function onTextInput(event:TextEvent):void {
    if(event.text == "a" && field.length == 0) {
        event.preventDefault(); //TEXT_INPUT是可以取消的事件.TextEvent有一个text属性,内含用户所输入的的字符.此例子确保用户输入的第一个字母不是"a"
    }
}

【把超链接加入文字】
打开网页:
例子1:
var css:StyleSheet = new StyleSheet();
css.parseCSS("a{color:#0000FF;} a:hover{text-decoration:underline;}");
field.styleSheet = css;
field.htmlText = "<a href='http://www.riahome.cn' target='_blank'>Link text</a>";
例子2:
field.text = "Link text";
var formatter:TextFormat = new TextFormat();
formatter.url = "http://www.riahome.cn";
formatter.target = "_blank";
field.setTextFormat(formatter);
打开Email:
field.text = "Link text";
var formatter:TextFormat = new TextFormat();
formatter.url = "mailto:y_boy@126.com";
field.setTextFormat(formatter);
使用event协议,打开ActionScript方法:
field.htmlText = "<a href='event:http://www.riahome.cn'>www.RIAHome.cn</a>";
field.addEventListener(TextEvent.LINK, onClickHyperlink);
private function onClickHyperlink(event:TextEvent):void {
    trace(event.text); //输出: http://www.riahome.cn
}

【精确获取某字符的索引值】
在 x 和 y 参数指定的位置返回从零开始的字符索引值
TextField.getCharIndexAtPoint(x:Number, y:Number):int
例子:
field.getCharIndexAtPoint(mouseX, mouseY); //返回鼠标位置上的该字符的索引值

【精确获取某字符的边框区域】
TextField.getCharBoundaries(charIndex:int):Rectangle
通过读取Rectangle的x,y,width以及height等属性来确定该字符的边框区域范围.

【精确获取某行的索引值】
在 x 和 y 参数指定的位置返回从零开始的行索引值
TextField.getLineIndexAtPoint(x:Number, y:Number):int
field.getLineIndexAtPoint(mouseX, mouseY); //返回鼠标位置上的该行的索引值

【获取指定索引值处的字符所在行的行索引值】
TextField.getLineIndexOfChar(charIndex:int):int

【获取指定行的字符数】
TextField.getLineLength(lineIndex:int):int

【获取指定索引值处的行所包含的字符】
TextField.getLineText(lineIndex:int):String

【获取指定行索引所在行的第一个字符的索引值】
TextField.getLineOffset(lineIndex:int):int

【获取指定文本行的度量信息】
TextField.getLineMetrics(lineIndex:int):TextLineMetrics
TextLineMetrics类包含文本字段中某行文本的文本位置和度量值的相关信息,帮助文档里有深入的图解.

【获取指定索引处的字符所在段落内的第一个字符索引值】
如果给定一个字符索引,则返回同一段落中第一个字符的索引
TextField.getFirstCharInParagraph(charIndex:int):int

【获取指定索引处的字符所在段落内的字符数】
TextField.getParagraphLength(charIndex:int):int

【替换所选文字】
TextField.replaceSelectedText(value:String):void
可以使用此方法插入和删除文本而不破坏其余文本的字符和段落格式.

【替换指定范围的文本】
TextField.replaceText(beginIndex:int, endIndex:int, newText:String):void
注意: 如果对文本字段应用了样式表,则该方法不起作用

【Timer计时器的使用】
var timer:Timer = new Timer(delay:Number, repeatCount:int = 0);
timer.addEventListener(TimerEvent.TIMER, onTimer);
timer.start();
private function onTimer(event:TimerEvent):void {
    //code
}

【以指定方向和速度移动元件】
speed: 目标速度
radians: speed与x轴的夹角,弧度
vx = Math.cos(radians) * speed;
vy = Math.sin(radians) * speed;

【缓动动画算法】
targetX,targetY: 目标坐标;
easingSpeed: 每次移动分数,范围0到1;
var vx:Number = (targetX - sprite.x) * easingSpeed;
var vy:Number = (targetY - sprite.y) * easingSpeed;
sprite.x += vx;
sprite.y += vy;
注意: 在非常逼近目标点时,往往找出通往目标点的距离,如果其值少于特定值,就应该停止该缓动.

【模拟弹簧往复运动算法】
五个变量: targetX(目标点的x坐标),sprite.X(物体的x坐标),vx(水平速度),ax(水平加速度),k(弹簧强度)
已知: targetX(目标点的x坐标),k(弹簧强度)
var ax:Number = (targetX - sprite.x) * k;
vx += ax;
sprite.x += vx;
注意: 这里只是水平方向的情形,也可以推广到垂直方向以及水平垂直一起来的情形

【模拟单摆运动】
四个变量: sprite.x(物体的x坐标),centerX(中心位置的x坐标),angle(弧度),radius(摆动的振幅,也就是摆动的范围)
sprite.x = centerX + Math.sin(angle) * radius;
angle += 0.05;

【模拟阻尼运动】
六个变量: targetX(目标点的x坐标),sprite.X(物体的x坐标),vx(水平速度),ax(水平加速度),k(弹簧强度),damp(阻尼系数)
已知: targetX(目标点的x坐标),k(弹簧强度)
var ax:Number = (targetX - sprite.x) * k;
vx += ax;
sprite.x += vx;
vx *= damp; //无阻力情况下的弹簧往复运动只缺少此句
注意: 这里只是水平方向的情形,也可以推广到垂直方向以及水平垂直一起来的情形.
这种原理可以推广到其它属性,如scaleX:
scaleVel += (targetScale - sprite.scaleX) * k;
sprite.scaleX += scaleVel;
scaleVel *= damp;

【计算两点间的角度】
Math.atan2(y:Number, x:Number):Number
y: 两点间的垂直距离
x: 两点间的水平距离
返回一个以弧度为单位的角度,返回值介于正PI和负PI之间.

【让物体指着鼠标(跟随眼睛)】
var dx:Number = mouseX - sprite.x;
var dy:Number = mouseY - sprite.y;
var radians:Number = Math.atan2(dy, dx);
sprite.rotation = radians * 180 / Math.PI;

【联结字符串时需要注意的地方】
var result:String = 2 + 6 + "a";
trace(result); //输出: 8a
var result:String = "a" + 2 + 6;
trace(result); //输出: a26
var result:String = "a" + (2 + 6);
trace(result); //输出: a8

【查找匹配的字符串】
使用String.indexOf(val:String, startIndex:Number = 0):int
返回指定子字符串的第一个匹配项的索引,没有匹配就返回-1
查找所有匹配的字符串:
var index:int = -1;
while((index = myString.indexOf("val", index + 1)) != -1) {
    trace("结果:" + index);
}
使用String.lastIndexOf(val:String, startIndex:Number = 0x7FFFFFFF):int
返回指定子字符串的最后一个匹配项的位置,没有匹配就返回-1
var index:int = myString.length;
while((index = myString.lastIndexOf("val", index - 1)) != -1) {
    trace("结果:" + index);
}
注意: indexOf()和lastIndexOf()方法都是区分大小写的.想把大小写都查找出来的话,可以结合String.toLowerCase()和String.toUpperCase()方法先把字符串一起转为小写或大写再进行查找.

【提取子字符串】
String.substr(startIndex:Number = 0, len:Number = 0x7fffffff):String
String.substring(startIndex:Number = 0, endIndex:Number = 0x7fffffff):String
String.slice(startIndex:Number = 0, endIndex:Number = 0x7fffffff):String
substr()第一个参数可以是负值,表示索引值是从字符串尾端算过来,-1是最后一个字符;
substring()和slice()差别在于substring()只接受正索引值,而把负值作为0处理.另外,如果endIndex小于startIndex,substring()方法在执行前,会自动将其调换过来,总是使用两个参数中较小的值作为起始索引.
slice()方法可接受startIndex和endIndex为负值,而把负值表示为从字符串的尾端算回来,如果endIndex小于startIndex,slice()方法会返回空字符串.

【以指定模式拆分字符串】
String.split(delimiter:*, limit:Number = 0x7fffffff):Array

【替换指定的字符串】
使用String.replace(pattern:*, repl:Object):String
可以这样来替换所有指定的字符串: myString.split("a").join("b");

【按单词或单个字母逆转字符串】
1. 把字符串切割使用String.split()方法成一个数组:对单词而言,以空格作为分界符,对字母而言,以空字符("")作为分界符;
2. 使用Array.reverse()方法对数组进行逆转;
3. 使用Array.join()方法重新组合为字符串:对单词而言,以空格(" ")作为联结符,对字母而言,以空字符("")作为联结符;

FLEX问题总汇
论坛一直有些问题有人重复的发帖,今天有空就做了点总结,希望和大家分享一下.
希望能够帮助一些新人对flex的一些基本理解.
1:flex是否可以嵌入html?
可以,需要用到iframe,该iframe并非它定义好,而需要自己定义.

2:flex可否访问系统里的资源,比如C盘D盘文件?
不可以,AIR可以.

3:flex可否对文件进行操作?
不可以,它没IO的操作,需要调用java或其他语言对文件进行读写等.

4:为什么读取数据是Object object?
读取的数据类型为Object,建议转换成string.如果不行就debug查看object里是否还有很多层次,如果有再依次取出.

5:如何访问父级对象?
parentApplication.

6:如何去掉滚动条?
横条:horiz
  竖条: verticalScrollPolicy="off"

7:module数据通信?

附件: ModuleCommunicationSample.rar (2008-6-20 12:50:14, 1078.32 K)
该附件被下载次数 197



8:flex默认编码是什么格式?
utf-8

9:为什么我后台jsp传回flex端为乱码?
request.getParameter("name").getBytes("ISO8859-1"), "utf-8");  或    request.charaterset("UTF-8").

10:dataGrid如何多选?

附件: dataGrid.rar (2008-6-20 12:50:14, 1065.23 K)
该附件被下载次数 149



11:如何改变每根柱子的颜色?
  <mx:series>
        <mx:ColumnSeries ...
    <mx:fill>
                                                                                  <mx:RadialGradient>
                                                                                            <mx:entries>
                                                                                            <mx:GradientEntry 

color="#EF7651"  />
                                                                                                <mx:GradientEntry

color="#994C34" ratio="1"/>
                                                                                            </mx:entries>
                                                                                  </mx:RadialGradient>
                                                                        </mx:fill>
<!-一个fill为1根->

12:如何改变图片缩放大小?
可以使用Resize.
例:<mx:Resize id="particular2" widthBy="2"  widthFrom="323"  widthTo="-691" target="{canvas2}"/>

13:日期使用.
Date.getUTCMonth()//返回月
Date.getFullYear()//按照本地时间返回 4 位数字的年份数
Date.getDate()//按照本地时间返回某天是当月的第几天
Date.getDay() 按照本地时间返回某天是周几
关于显示格式可以使用format方法.

14:swf与swf之间可否交互?
可以,使用LocalConnection.

15:PopUpManager居中问题.
PopUpManager.centerPopUp(PopUpManager.createPopUp(DisplayObject(Application.application),TitleWindow,true);).

16:flex访问,解决安全限制,破沙河.
crossdomain.xml:
<?xml version="1.0" encoding="utf-8"?>
<cross-domain-policy>
  <allow-access-from domain="*"/>
</cross-domain-policy>
存放在服务器和项目一起根目录下.*代表全部可以访问.
命名为crossdomain,flex默认读取.

17:flex可否接收键盘?
可以.首先XX.setFocus(),设置焦点在某容器/控件之上,
mc.addEventListener(KeyboardEvent.KEY_DOWN,keyIsDown);//添加响应事件
private function keyIsDown(evt:KeyboardEvent):void
{
        //evt.keyCode键盘对应码
}

18:tree如何默认展开?
myTree.setIsOpen(myTree.getNodeDisplayedAt(0), true);//展开某个
var index = 0;
        var node = TreFolder.getNodeDisplayedAt(index);
        while(node != undefined){
            TreFolder.setIsOpen(node,true);
            index ++;
            node = TreFolder.getNodeDisplayedAt(index);
        }//true为全部展开false为全部手起

19:如何修改Alert样式?
字体为例:       
<mx:Style>
        Alert
        {
                fontSize:12;
        }
</mx:Style>

20:如何改变鼠标的指针?
[Embed(source="hand.jpg")]
private var handCursorSymbol:Class;//定义图片

CursorManager.setCursor(handCursorSymbol);//进行设置

21.如何使用全屏模式?
stage.displayState = StageDisplayState.NORMAL;//还原
stage.displayState = StageDisplayState.FULL_SCREEN; //全屏

22.如何制作自定义反键?
var myContextMenu:ContextMenu = new ContextMenu();
myContextMenu.hideBuiltInItems();
var item1:ContextMenuItem = new ContextMenuItem("item");
myContextMenu.customItems.push(item1);//加入右键
item1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, menuItemSelectHandler1);//为item1添加点击响应

23:如何制作和使用swc?
new->Flex Library project.
在属性里选择Flex Library Build Path勾选你要编译的类//编译后bin里即是swc.
使用:找到要使用该swc的工程,属性,Flex Build Path,点击add swc即可.
http://www.riachina.com/showtopic-11341.aspx

24:如何使用ShareObject?
ShareObject就像cookies一样...
会生成一个文件来保存你所需要交互的数据...
提供方法:clear() //删除本地共享对象
flush() //立即把共享对象数据写入本地文件
getLocal()// 创建或连接本地共享对象;

25.Flex常用的数据交互.httpservice和webservice.(remote可查看Flex + LCDS + Java 入门教程)
1.使用httpservice
<mx:HTTPService id="myhttp" url="you httpservice url" result="doResult(event)" >
<mx:request xmlns="">
            <username>
                {xxx}  //此处为你要传递给后台的参数,也可以不用request.(可选),还有其他写法,此为其1.
            </username>
        </mx:request>
</HTTPService>
private function doResult(evt:ResultEvent):void
{
  //此处为myhttp send后,由后台传回的数据
}

2:使用webservice
ws一般都以wsdl存在....net里可以直接执行asmx查看和测试方法 java也提供了一个xml 工具达到同样效果.确定ws成功那么就可以开始编写flex来通讯了.
<mx:WebService id="FlexSite" wsdl="http://localhost/FlexSite/Server2Flex.asmx?wsdl" showBusyCursor="true" useProxy="false">
  <mx:operation name="HelloWorld" result="onWs(event)"> <!--这里对应WEBSERVICE的方法名,在我的WS里有HelloWorld暴露方法-->
    <mx:request> <!--接收方法参数-->
                        <mx:UserName>//参数名
                                {name}//参数值
                        </mx:UserName>
                </mx:request>
        </mx:operation>
</mx:WebService>
private function onWs(event:ResultEvent):void
{
//得到ws的返回....
}
FlexSite.HelloWorld.send();//调用HelloWorld方法,利用onWs接收返回值

26. 经常有些人问哪种速度块些,简单做了测试列举如下
httpservice,webservice,json,remote(.net)数据服务时间比较。

名称                                  1            2              3              4                  5                  平均(s)
JSON                            1672        828          765          797            807              0.9738
httpservice                  2610      2547        2485        2375          2500            2.5034
webservice                2657        2328        2797        2511          2375            2.5336
remote                          437        360          344          454            411              0.4012

                10000条数据测试结果                                       
                                                       
                                                       
                                                       
27:实现类似HTML里的<A>标签的超链接功能.
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:view="view.*" creati>
          <mx:String id="test">
        <![CDATA[<a href="event:"><u>click</u></a> label]]>
    </mx:String>
<mx:Script>
        <![CDATA[
                import mx.controls.Label;
                import mx.controls.Alert;
                private function initApp():void
                {
                var lbl:Label = new Label();
                lbl.htmlText = test;
                lbl.selectable = true;
                                lbl.addEventListener(TextEvent.LINK, label_link);
                                this.addChild(lbl);
                               
                       
                }
                        private function label_link(evt:TextEvent):void {
                Alert.show("click .");
                //这里处理你要进行的跳转
            }

        ]]>
</mx:Script>
</mx:Application>
分享到:
评论

相关推荐

    Flex开发环境配置手册

    Flex开发环境配置涉及两个主要的开发工具,即Micromedia Flex Builder 1.5和FlexBuilder 2.0作为Eclipse插件。配置过程主要包括安装、新建Flex站点、站点配置、复制核心文件以及测试环境。 首先,安装Micromedia ...

    FLEX开发中文文档

    《FLEX开发中文文档》是一份专为RIA(Rich Internet Applications)开发者编译的资源,主要涵盖了Adobe Flex 2和ActionScript 3的开发技术。这份文档由四部分组成,分别对应四个章节,旨在帮助开发者理解和掌握Flex...

    java整合flex开发应用

    1. **环境配置**:如何设置Java开发环境(JDK、IDE)和Flex开发环境(Flex SDK、IDE),以及如何配置BlazeDS或LCDS等数据通信工具。 2. **数据交互**:使用AMF(Action Message Format)协议进行Java和Flex之间的...

    Flex 开发流程 了解Flex开发的流程

    Flex开发流程详解 Flex是一种由Adobe推出的用于构建富互联网应用(Rich Internet Applications,简称RIA)的框架,它包含了Flex SDK、编译器、框架、调试工具以及开发环境Flex Builder等核心组成部分。Flex 3 SDK...

    企业应用FLEX开发实战

    《企业应用FLEX开发实战》是一本专注于使用Adobe FLEX进行企业级应用程序开发的实践教程。本书涵盖了从基础到高级的各个层面,旨在帮助开发者掌握FLEX技术在实际项目中的应用,提升软件开发效率和质量。书中内容分为...

    Flex开发辅助工具

    Flex开发辅助工具是一系列专为Flex开发者设计的实用工具,主要以SWF(Shockwave Flash)格式提供。这些工具能够帮助开发者更有效地理解和利用Flex框架的功能,提高开发效率。下面将逐一详细介绍这些文件: 1. **...

    Flex开发入门

    Flex开发是一种创建富互联网应用程序(RIA)的技术,它允许开发者构建具有丰富图形界面和交互性的Web应用。在本文中,我们将深入探讨Flex开发的基础知识,包括如何新建MXML文件以及如何与Java EE(J2EE)项目进行...

    flex实战项目,flex开发

    4. **Flex Builder**:虽然Flex SDK是免费的,但Adobe还提供了一个集成开发环境(IDE),即Flex Builder,它基于Eclipse,提供了图形化的界面设计工具和强大的调试功能,使得Flex开发更加高效。 5. **Flex项目实战*...

    Flex开发环境配置教程

    Flex开发环境配置教程 在进入Flex开发之前,首先需要理解Flex是什么。Flex是一种基于Adobe的ActionScript编程语言和MXML标记语言,用于构建富互联网应用程序(Rich Internet Applications, RIA)。它允许开发者创建...

    flex开发框架

    Flex开发框架是一个基于Adobe Flex技术的开发工具集,主要用于构建富互联网应用程序(Rich Internet Applications,简称RIA)。在本文中,我们将深入探讨Flex的核心概念、主要特点、开发环境以及如何使用Flex进行...

    Flex 开发的表单

    Flex 开发的表单 资产负债表,如有需要请留言。

    Flex语言开发介绍及实例

    描述中的"flex开发的简介及开发主要内容"提示我们将讨论Flex的基础知识,包括Flex Builder或Flash Builder的使用,这些是Adobe提供的集成开发环境(IDE),用于编写、调试和部署Flex应用。Flex SDK则是开发的核心...

    Flex 开发入门介绍及使用

    Flex 开发入门介绍及使用 Flex 是一种用于创建富互联网应用程序(Rich Internet Applications,简称 RIA)的技术,它由 Adobe 公司推出并开源,自 2007 年以来迅速发展,吸引了众多开发者和企业的关注。IBM 等大...

    Flex 项目开发,个人专用

    Flex 项目开发,个人专用 Flex 项目开发,个人专用 Flex 项目开发,个人专用 Flex 项目开发,个人专用

    Flex 开发的 网站

    标题中的“Flex开发的网站”指的是使用Adobe Flex技术构建的Web应用程序。Flex是一种基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA)。它允许开发者创建具有交互性、动态图形和复杂用户界面的...

    flex在线阅读开发(详细步骤)

    2. **FlexBuilder**:它是基于Eclipse的IDE,为Flex开发提供了一流的支持,包括代码提示、调试器、项目管理等功能,极大地方便了开发过程。 **二、MXML与ActionScript** 3. **MXML**:MXML是一种声明式语言,用于...

    flex开发入门 actionscript

    ### Flex开发入门与ActionScript详解 #### 一、Flex与ActionScript简介 Flex是一种用于构建高性能的、跨浏览器的Web应用程序的开源框架。它由Adobe Systems维护和支持,并且以其强大的功能和灵活性受到开发者们的...

    Flex4教程,中文版,FLEX开发必备利器。

    Flex的开发工具箱FlexSDK包含了编译器、调试器等开发工具,使得开发者即使不使用集成开发环境(IDE)如Flash Builder,也可以进行Flex应用的开发,尽管效率较低。Flex应用通常编译为SWF文件,这些文件可以在Adobe ...

    flex war flex开发所有war

    标题"flex war flex开发所有war"暗示了这个压缩包可能包含了Flex项目构建的多个Web应用程序,每个Web应用对应一个WAR文件。WAR文件通常包含HTML、CSS、JavaScript、Java类、库以及其他Web应用所需资源。在这个场景中...

Global site tag (gtag.js) - Google Analytics