1.监测键盘的输入
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" keyDown="application1_keyDownHandler(event)"> <fx:Script>
<![CDATA[
import mx.controls.Alert;
protected function application1_keyDownHandler(event:KeyboardEvent):void
{
if(event.keyCode==13)
{
Alert.show("你按了回车键");
}
}
]]>
</fx:Script>
<s:Button x="164" y="191" label="按钮"/>必须激活flash才可以监控键盘的输入,我这里使用了一个Button
2.控件使用动态的属性,以及控件之间属性的关联
<fx:Script>
<![CDATA[
[Bindable]
private var str:String = "hello world!";
]]>
</fx:Script>
<fx:Declarations>
</fx:Declarations>
<s:TextInput text="{str}" x="113" y="77"/>
<s:TextArea />
<s:TextInput />
3.使用Timer类制作最简单的计数器
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
private var timer:Timer;
private var count:Number = 0;
private function timer_event(event:TimerEvent):void
{
count++;
timerLabel.text = String(count);
}
protected function button1_clickHandler(event:MouseEvent):void
{
if(timer.running)
{
timer.stop();
}
}
protected function button2_clickHandler(event:MouseEvent):void
{
if(!timer || !timer.running)
{
timer = new Timer(1000,0);
timer.addEventListener(TimerEvent.TIMER,timer_event);
timer.start();
}
}
]]>
</fx:Script>
<fx:Declarations>
</fx:Declarations>
<s:Label />
<s:Button x="289" y="168" label="停止计数" click="button1_clickHandler(event)"/>
<s:Button x="289" y="130" label="开始计数" click="button2_clickHandler(event)"/>
4.使用s:States创建最简单的编辑器,主要是演示切换状态的功能
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="application1_creationCompleteHandler(event)" currentStateChange="application1_currentStateChangeHandler(event)">
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
import mx.events.StateChangeEvent;
[Bindable]
private var value:String = "";
protected function button1_clickHandler(event:MouseEvent):void
{
if(this.currentState=="display")
{
this.setCurrentState("edit");
}
else
{
this.setCurrentState("display");
}
}
protected function application1_creationCompleteHandler(event:FlexEvent):void
{
this.setCurrentState("edit");
}
protected function application1_currentStateChangeHandler(event:StateChangeEvent):void
{
if(this.currentState=="display") value = text1.text;
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<s:Label />
<s:TextInput />
<s:Button x="94" y="42" label="切换状态" click="button1_clickHandler(event)"/>
<s:states>
<s:State name="display" />
<s:State name="edit" />
</s:states>
</s:Application>
5.用下拉框列出所有字体,并且动态修改字体
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="application1_creationCompleteHandler(event)">
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.events.FlexEvent;
import spark.events.IndexChangeEvent;
[Bindable]
private var arr:Array;
protected function application1_creationCompleteHandler(event:FlexEvent):void
{
arr = Font.enumerateFonts(true);
arr.sortOn("fontName",Array.CASEINSENSITIVE);
}
protected function dropdownlist1_changeHandler(event:IndexChangeEvent):void
{
text1.setStyle("fontFamily",(dd1.selectedItem as Font).fontName);
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<s:DropDownList />
<s:TextArea />
</s:Application>
6.修改选中文字内容的样式
<fx:Script>
<![CDATA[
import flashx.textLayout.edit.SelectionState;
import mx.controls.textClasses.TextRange;
import mx.events.FlexEvent;
protected function button1_clickHandler(event:MouseEvent):void
{
var textrange:TextRange = new TextRange(text1,true,text1.selectionBeginIndex,text1.selectionEndIndex);
textrange.color = 0xff0000;
}
]]>
</fx:Script>
<mx:TextArea />
<s:Button x="129" y="104" label="修改" click="button1_clickHandler(event)"/>