<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"
viewSourceURL="srcview/index.html" backgroundColor="0x000000" layout="absolute">
<mx:Script>
<![CDATA[
import org.alivepdf.pages.Page;
import org.alivepdf.pdf.PDF;
import org.alivepdf.layout.Orientation;
import org.alivepdf.layout.Size;
import org.alivepdf.layout.Unit;
import org.alivepdf.display.Display;
&nbs ......
as:
var app:Object;
function setApp(ap:Object):void{
this.app=ap;
}
btn.addEventListener(MouseEvent.CLICK,onClick);
function onClick(event:MouseEvent):void{
app.fun(btn.label);
}
flex:
private function onSwfLoaded(event:Event):void
{
myloader.addEventListener(Event.COMPLETE, loaderHandler);
}
private function loaderHandler(event:Event):void
{
Object(myloader.content).setApp(this);
}
public function fun(str:String):void
{
trace(str);
}
......
1、当创建一个数组的时候避免用new操作符,用 var a:Array = [];而不用var a:Array = new Array();
2、快速的复制一个数组:
var copy : Array = sourceArray.concat ();
3、设置一个数组的值是非常忙的:
employees.push ( employee ); employees[2] = employee;
4、从一个数组中取得值的速度是设置一个数组值的两倍快:
var employee : Employee = employees[2];
5、当不需要一个类的实例的时候尽量用静态的属性或方法:
package
{
public final class StringUtils
{
public static function trim(s:String):String
{
var trimmed:String; // implementation...
return trimmed;
&n ......
<mx:DataGrid id="dg" click="select()" dataProvider= "{modelLocator.resultList}" borderStyle="none"
verticalGridLines="false" horizontalGridLines="false" verticalScrollPolicy="off" rowCount="10"
fontSize="16" fontStyle="normal" fontThickness="0" width="100%" height="100%">
<mx:columns>
<mx:DataGridColumn dataField="programName " headerText="节目名称" >
<mx:itemRenderer>
<mx:Component>
<mx:HBox width="100%" height="100%" horizontalAlign="left" verticalAlign="middle" horizontalScrollPolicy="off" verticalScrollPolicy="off">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
override public function set data (value:Object):void
{
if(value != null)
{
super.data = value;
programXYZ.htmlText = data.programName;
//Alert.show(this.programXYZ.text);
}
}
]]>
</mx:Script>
<mx:Text id="programXYZ" />
</mx:HBox>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
......
Flex中如何通过strokeWidth, strokeColor和shadowColor样式,创建一个自定义风格的HRule或VRule
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white">
<mx:ApplicationControlBar dock="true">
<mx:Form>
<mx:FormItem label="stokeWidth:">
<mx:HSlider id="strokeWidthSlider"
minimum="0"
maximum="20"
value="2"
liveDragging="true"
snapInterval="1"
tickInterval="1"
dataTipPrecision="0"/>
</mx:FormItem> ......
在Flex里,一般的弹出窗口(除了Alert以外)都可以用TitleWindow组件完成,主窗口和TitleWindow的数据传输可以用以下方法
假设TitleWindow的实例文件为titleWin.mxml,则要在Application中用PopUpManager创建一个titleWin的引用
private var popWin:titleWin = titleWin(PopUpManager.createPopUp(this,titleWin,true));
如果要将Application的一个组件的值传给titleWin,如Application的id="userName"的TextInput的值传给titleWin,必须先在titleWin.mxml里声明一个TextInput的组件:
public var userNameInPop:TextInput;
然后在Application里:
popWin.userNameInPop=userName;
这样就相当于把Application的userName的TextInput组件传给了titleWin,可以在titleWin.mxml里绑定这个值然后在文本框里显示出来:
[Bindable]
public var userNameInPop:TextInput;
<mx:TextInput x="110" y="39" id="popUserName" text="{userNameInPop.text}"/>
而要把titleWin的值传给Application则只需在titleWin.mxml里把TextInput的值赋给userNameInPop的text即可:
userNameInPop.text=popUserName.text;
......