mxml ソースにボタンがあり、クリックでロジック実行するための雛形
ボタンをクリックでラベルテキストを変更の例
サンプルは、パッケージ sample.logic.hellotest に、HelloButton.as を用意する。
IMXMLObject をインターフェースに持つようにクラスを作る。
-------------- HelloButton.as ----------------
package sample.logic
{
import mx.core.IMXMLObject;
import spark.components.Label;
public class HelloButton implements IMXMLObject{
private var view:HelloFx;
public function HelloButton(){
}
public function initialized(document:Object, id:String):void{
}
public function buttonClickHandler(label:Label):void{
label.text = "Test!!";
}
}
}
----------------------------------------------
ビューとしての mxml は、以下のように記述する。
(デスクトップアプリとして作ったmxml)
xmlns で、作成した as のパッケージ配下を名前空間として宣言し
Declarations タグで作成したクラス宣言をして、Button の click 属性で呼び出す
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:hellotest="sample.logic.hellotest.*">
<fx:Declarations>
<hellotest:HelloButton id="hello"/>
</fx:Declarations>
<s:Button id="hellobutton" x="60" y="15" label="Hello"
click="hello.buttonClickHandler(message)"/>
<s:Label id="message" x="60" y="53" width="70" height="20"/>