<!-- FIN DE LA PARTIE DECLARATIVE -->
</mx:WindowedApplication>
Partie impérative.
Le code constitue cette partie. Il peut être instruit de 3 manières :
Ecriture outline.
[ Façon 1 ]
<mx:Script>
<![CDATA[
 import mx.controls.Alert;
 private function exemple():void{
 Alert.show("Exemple");
]]>
</mx:Script>
[ Façon 2 ]
<mx:Button>
 <mx:click>
 <![CDATA[
 mx.controls.Alert.show("Exemple");
 </mx:click>
</mx:Button>
[ Façon 3 ]
<mx:Script source="code.as"/>
Ecriture inline.
L'écriture inline est écrite au sein du tag.
[ Façon 1 : Dans un attribut ]
Une instruction
<mx:Button id="alertButton" label="Show Alert"
 click="mx.controls.Alert.show('Example')"/>
Plusieurs instructions
<mx:Button id="alertButton" label="Show Alert"
 click="alertButton.label = 'Nouveau Label';mx.controls.Alert.show('Exemple');"/>
[ Façon 2 : En databinding ]
Une instruction
<mx:VBox>
 <mx:TextInput id="input"/>
 <mx:Text id="output" text="{input.text}"/>
</mx:VBox>
Plusieurs instructions
<mx:VBox>
 <mx:TextInput id="input"/>
 <mx:Text id="output" text="{'User Input: ' + input.text}"/>
</mx:VBox>
=Premier programme=
Commençons par envoyer un message à l'utilisateur
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication 
 xmlns:mx="http://www.adobe.com/2006/mxml" 
 layout="absolute" 
 creationComplete="initialiser()">
 <mx:Script>
 <![CDATA[
 public function initialiser():void 
 textArea1.text = "Hello World !" ;
 ]]>
 </mx:Script>
 <mx:TextArea x="10" y="40" width="200" height="200" id="textArea1"/>
</mx:WindowedApplication>
Ce formulaire flex air comporte un composant textarea.
Le textarea à son texte qui change en "Hello World" au démarage de WindowedApplication.
creationComplete exécute la fonction "initialiser()" au démarage du formulaire qui change le texte de textarea.
= API ActionScript/Flex/FlashBuilder =
Reference for the Adobe Flash Platform :
Guide de référence du langage d'Adobe® Flex® 4.1 :
Adobe® Flex™ 2 Language Reference
= Exemples d'utilisation des composants =
Les points suivants illustrent une utilisation habituelle des composants des formulaires. 
On accède aux éléments du formulaire par l'attribut id. 
Ainsi un bouton aura par exemple un id="bouton1" comme ici :
<mx:Button x="10" y="30" label="Button" id="bouton1" click=""/>
Pour appeler cet élément dans le code on fera :
<fx:Script>
 <![CDATA[
 bouton1.label="nouveau label"; // le label de bouton1 devient "nouveau label"
 ]]>
</fx:Script>

Programmation Flex/Utilisation des composants/Controles

AdvancedDataGrid.
<?xml version="1.0"?>
<mx:WindowedApplication 
 xmlns:fx="http://ns.adobe.com/mxml/2009" 
 xmlns:mx="http://www.adobe.com/2006/mxml" width="800" height="400">
 <mx:Script>
 <![CDATA[
 import mx.collections.ArrayCollection;
 [Bindable]
 private var dpFlat:ArrayCollection = new ArrayCollection([
 {Region:"Southwest", Territoire:"Arizona", Republique:"Barbara Jennings", Actual:38865, Estimer:40000}, 
 {Region:"Southwest", Territoire:"Arizona", Republique:"Dana Binn", Actual:29885, Estimer:30000}, 
 {Region:"Belgique", Territoire:"Wallonie", Republique:"néant", Actual:100050, Estimer:25000}, 
 ]]>
 </mx:Script>
 <!-- height="300" width="300" layout="horizontal" -->
 <mx:Panel title="AdvancedDataGrid Control Exemple"
 paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10">
 <mx:AdvancedDataGrid id="myADG" 
 width="100%" height="100%" 
 initialize="gc.refresh();"> 
 <mx:dataProvider>
 <mx:GroupingCollection id="gc" source="{dpFlat}">
 <mx:Grouping>
 <mx:GroupingField name="Region"/>
 <mx:GroupingField name="Territoire"/>
 </mx:Grouping>
 </mx:GroupingCollection>
 </mx:dataProvider> 
 <mx:columns>
 <mx:AdvancedDataGridColumn dataField="Region"/>
 <mx:AdvancedDataGridColumn dataField="Territoire"/>
 <mx:AdvancedDataGridColumn dataField="Republique" headerText="Republique"/>
 <mx:AdvancedDataGridColumn dataField="Actual"/>
 <mx:AdvancedDataGridColumn dataField="Estimer"/>
 </mx:columns>
 </mx:AdvancedDataGrid>
 </mx:Panel>
</mx:WindowedApplication>
Bouton.
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication 
 xmlns:mx="http://www.adobe.com/2006/mxml" 
 layout="absolute" 
 creationComplete="initialiser()">
 <mx:Script>
 <![CDATA[
 import mx.controls.Alert ;
 public function alerter(pString:String):void
 Alert.show(pString,"message du bouton");

</mx:Script>
 <mx:Button x="10" y="30" label="Button" id="bouton1" click="alerter(textInput1.text)"/>
 <mx:TextInput x="83" y="30" id="textInput1" />
 <mx:Button id="alertButton" label="Show Alert"
 click="alertButton.label = 'Nouveau Label';mx.controls.Alert.show('Exemple');" x="10" y="60"/>
</mx:WindowedApplication>
CheckBox.
Avec FlashBuilder, il y a un nouveau namespace ou bibliotheque de fonctionnalités :
Celui-ci permet d'utiliser "fx:Script" à la place de "mx:Script"
<?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">
 <fx:Declarations>
 <!-- Place non-visual elements (e.g., services, value objects) here -->
 </fx:Declarations>
 <fx:Script>
 <![CDATA[
 private function changeComboLabel()
 if(checkbox1.selected == true)
 checkbox1.label = "déselectionné";
 else
 checkbox1.label = "sélectionné";
 ]]>
 </fx:Script>
 <s:CheckBox click="changeComboLabel()" id="checkbox1" x="10" y="10" label="CheckBox"/>
 <s:Button x="82" y="54" label="Button" click="{checkbox1.selected=true}"/>
</s:WindowedApplication>
Cette application a deu actions :
ColorPicker.
<?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">
 <fx:Declarations>
 <!-- Place non-visual elements (e.g., services, value objects) here -->
 </fx:Declarations>
 <fx:Script>
 <![CDATA[
 // pas de script ici
 </fx:Script>
 <s:Button x="25" y="21" label="Button" click="{colorPicker1.selectedColor=0xFFFF00}"/>
 <mx:ColorPicker id="colorPicker1" x="103" y="21"/>
</s:WindowedApplication>
ComboBox.
<?xml version="1.0" encoding="utf-8"?>
<!-- Simple example to demonstrate the Halo ComboBox control. -->
<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">
 <fx:Script>
 <![CDATA[
 import mx.collections.ArrayCollection;
 import mx.events.DropdownEvent;
 [Bindable]
 public var cards:ArrayCollection = new ArrayCollection(
 [ {label:"Visa", data:1}, 
 {label:"MasterCard", data:2}, 
 {label:"American Express", data:3}

private function closeHandler(evt:DropdownEvent):void {
 myLabel.text = "Vous avez sélectionné : " + ComboBox(evt.target).selectedItem.label;
 myData.text = "Donnée : " + ComboBox(evt.target).selectedItem.data;