facebook twitter hatena line google mixi email

Flash/flex3

提供: 初心者エンジニアの簡易メモ
移動: 案内検索

入門ヘルプ

http://www.adobe.com/livedocs/flex/3_jp/html/help.html?content=controls_04.html

ライブラリの位置

D:\flex_sdk_3.4.0\frameworks\projects\framework\src\mx\controls

mxml helloworld

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
    <mx:Label text="helloworld" fontSize="24"/>
</mx:Application>


アイコン付きボタン

sperkにはない

<mx:Button label="Icon Button" icon="@Embed(source='assets/logo.jpg')"/>

アイコン付きトグルボタン

<mx:Button label="" width="20" toggle="true" 
   icon="@Embed(source='assets/off.jpg')"
   selectedDownIcon="@Embed(source='assets/on.jpg')"
   selectedOverIcon="@Embed(source='assets/on.jpg')"
   selectedUpIcon="@Embed(source='assets/on.jpg')"
 />

アイコンの位置

<mx:Button label="text" labelPlacement="top"
   icon="@Embed(source='assets/off.jpg')"
 />

押しっぱなしボタン

<mx:Button label="" selected="true">

画像差込

<mx:Image id="hoge" source="@Embed('asset/hoge.png')"/>

ボックス表示(divみたいなの)

<mx:Panel title="My Application" paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" >
<mx:Label text="Hello World!" fontWeight="bold" fontSize="24"/>
</mx:Panel>

タブ表示

<mx:TabNavigator borderStyle="solid">
<mx:VBox label="Pane1" width="300" height="150">
    <mx:TextArea text="Hello World"/>
    <mx:Button label="Submit"/>
</mx:VBox>
<mx:VBox label="Pane2" width="300" height="150">
</mx:VBox>
</mx:TabNavigator>

タグとas紐付け

<mx:Script>
<![CDATA[
    private function storeZipInDatabase(s:String):void {
        // event handler code here
    }
]]>
</mx:Script>
<mx:HBox>
<mx:TextInput id="myText"/>
<mx:Button click="storeZipInDatabase(myText.text)"/>
</mx:HBox>

テキストエリア

<mx:TextArea id="textarea1" text="text"/>

タグ内で入力値参照

<mx:TextInput id="textinput1" text="Hello"/>
<mx:TextArea id="textarea1" text="{textinput1.text}"/>
<mx:Button label="Submit" click="textinput1.text='Goodbye';"/>

エスケープは円記号

<mx:Label text="\{\}"/>

初期読出ファンクション定義

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="initApp()">
 <mx:Script><![CDATA[
  public function initApp():void {
  }
 ]]></mx:Script>
</mx:Application>

スライダー

<mx:HSlider id="slider1"/>
import flash.events.Event;
import mx.events.FlexEvent;
slider1.addEventListener(Event.CHANGE, _onChangeSlider1);
slider1.addEventListener(FlexEvent.CHANGE_END, _onChangeEndSlider1);
private function _onChangeEndSlider1(event:Event):void {
   Alert.show(event.target.value);
}

パネルにsprite設定

<mx:Script><![CDATA[
import flash.display.Sprite;
import mx.core.UIComponent;
private function addChildToPanel():void {
    var circle:Sprite = new Sprite();
    circle.graphics.beginFill(0xFFCC00);
    circle.graphics.drawCircle(0, 0, 20);
    var c:UIComponent = new UIComponent();
    c.addChild(circle);
    panel1.addChild(c);
}
]]></mx:Script>
<mx:Panel id="panel1" height="100" width="100"/>
<mx:Button id="myButton" label="Click Me" click="addChildToPanel();"/>

アラート

import mx.controls.Alert;
Alert.show("test");

自分自身の取得

<mx:Button label="OK" click="trace(event.currentTarget.label)"/>

クリックハンドラをasで指定

<mx:Button label="submit" id="b1"/>
private function initApp():void {
 b1.addEventListener(MouseEvent.CLICK, buttonHandler);
}
private function buttonHandler(event:Event):void {
 trace("test1");
}

キーボード処理

<mx:Script><![CDATA[
private function initApp():void {
   application.addEventListener(KeyboardEvent.KEY_UP, keyHandler);
}
private function keyHandler(event:KeyboardEvent):void {
      trace(event.keyCode + "/" + event.charCode);
}
]]></mx:Script>
<mx:TextInput id="myTextInput"/>

表フォーム

<mx:Canvas id="mainCanvas" width="100%" height="100%">
 <mx:Form>
    <mx:FormItem label="Char (Code)">
       <mx:Label id="l1" text="text1" />
    </mx:FormItem>
    <mx:FormItem label="Key (Code)">
       <mx:Label id="l2" text="text2" />
    </mx:FormItem>
 </mx:Form>
</mx:Canvas>

stageサイズの指定

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" height="300" width="600">

データグリッド表示

<mx:DataGrid width="450" id="dg">
    <mx:columns>
        <mx:DataGridColumn dataField="first" headerText="First Name"/>
        <mx:DataGridColumn dataField="last" headerText="Last Name"/>
        <mx:DataGridColumn dataField="email" headerText="Email"/> 
    </mx:columns>
</mx:DataGrid>

空のdivを設定

<mx:Canvas width="100%" height="100%" backgroundColor="0xDDDDDD" >
<s:Label text="test" />
</mx:Canvas>

チェックボックス

<mx:CheckBox width="100" label="Employee?" selected="true"/>

ラジオボタン

<mx:RadioButton groupName="cardtype" id="americanExpress" label="American Express" width="150"/>
<mx:RadioButton groupName="cardtype" id="masterCard" label="MasterCard" width="150"/>

ナンバーステッパー

<mx:NumericStepper id="nstepper1" value="6" stepSize="2"/>

スライダー

<mx:HSlider tickInterval="2" labels="['min', 'max']" height="150"/>

カラーピッカー

<mx:ColorPicker id="cp"/>

罫線

<mx:VRule/>縦
<mx:HRule/>横

htmlText記述

<mx:Text width="100%" color="blue" fontStyle="italic" fontSize="14">
 <mx:htmlText>
   <![CDATA[<font color="#ff0000" size="10">red</font>]]>
  </mx:htmlText>
</mx:Text>

リッチテキストエディタ

<mx:RichTextEditor id="myRTE" text="Congratulations, winner!" />

マウス動作検出

<mx:Canvas id="c1" width="300" height="300" mouseMove="handleMouseMove(event);" backgroundColor="red"/>
protected function handleMouseMove(event:MouseEvent):void {
 Alert.show("test");
}

flashvarsにアクセス

mx.core.Application.application.parameters;

swfのurlを取得

mx.core.Application.application.url;