Hice un bootstrap simple similar a Borek (ver a continuación). Me encantaría deshacerme del archivo mxml, pero si no lo tengo, no obtendré ninguno de los temas estándar que vienen con Flex (haloclassic.swc, etc.). ¿Alguien sabe cómo hacer lo que Theo sugiere y aún tiene los temas estándar aplicados?
Aquí es mi método de arranque simplificado:
main.mxml
<?xml version="1.0" encoding="utf-8"?>
<custom:ApplicationClass xmlns:custom="components.*"/>
ApplicationClass.as
package components {
import mx.core.Application;
import mx.events.FlexEvent;
import flash.events.MouseEvent;
import mx.controls.Alert;
import mx.controls.Button;
public class ApplicationClass extends Application {
public function ApplicationClass() {
addEventListener (FlexEvent.CREATION_COMPLETE, handleComplete);
}
private function handleComplete(event : FlexEvent) : void {
var button : Button = new Button();
button.label = "My favorite button";
button.styleName="halo"
button.addEventListener(MouseEvent.CLICK, handleClick);
addChild(button);
}
private function handleClick(e:MouseEvent):void {
Alert.show("You clicked on the button!", "Clickity");
}
}
}
Estas son las actualizaciones necesarias para utilizarlo con Flex 4:
principal.MXML
<?xml version="1.0" encoding="utf-8"?>
<local:MyApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:local="components.*" />
MyApplication.as
package components {
import flash.events.MouseEvent;
import mx.controls.Alert;
import mx.events.FlexEvent;
import spark.components.Application;
import spark.components.Button;
public class MyApplication extends Application {
public function MyApplication() {
addEventListener(FlexEvent.CREATION_COMPLETE, creationHandler);
}
private function creationHandler(e:FlexEvent):void {
var button : Button = new Button();
button.label = "My favorite button";
button.styleName="halo"
button.addEventListener(MouseEvent.CLICK, handleClick);
addElement(button);
}
private function handleClick(e:MouseEvent):void {
Alert.show("You clicked it!", "Clickity!");
}
}
}
Genial, parece tan mínimo como puedes obtenerlo, a nivel de mxml. Aceptando su respuesta ya que es un código AS casi puro. – davr
Hermoso, gracias. Con FlashDevelop, incluso tiene una gran cantidad de códigos completados en objetos como "botón". Bonito. Esto no funcionó en el ejemplo de Borek. –
Actualizado para incluir un ejemplo del código necesario para Flex 4. – davr