<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2008/12/22/setting-the-text-justification-on-a-textbox-object-in-flex-gumbo/ -->
<Application name="TextBox_textJustify_test"
        xmlns="http://ns.adobe.com/mxml/2009"
        layout="vertical"
        verticalAlign="top"
        backgroundColor="white"
        initialize="init();">

    <Script>
        <![CDATA[
            import mx.containers.ApplicationControlBar;
            import mx.containers.Form;
            import mx.containers.FormItem;
            import mx.controls.ComboBox;
            import mx.controls.HSlider;
            import mx.events.SliderEvent;
            import mx.events.ListEvent;
            import mx.graphics.Graphic;
            import mx.graphics.TextBox;
            import flashx.textLayout.formats.TextAlign;
            import flashx.textLayout.formats.TextJustify;

            [Embed(source="data/lorem.txt", mimeType="application/octet-stream")]
            private const Lorem:Class;

            private var comboBox:ComboBox;
            private var slider:HSlider;
            private var textBox:TextBox;

            private function init():void {
                var arr:Array = [];
                arr.push(TextJustify.DISTRIBUTE);
                arr.push(TextJustify.INTER_WORD);

                comboBox = new ComboBox();
                comboBox.dataProvider = arr;
                comboBox.addEventListener(ListEvent.CHANGE, comboBox_change);

                slider = new HSlider();
                slider.minimum = 300;
                slider.maximum = 550;
                slider.value = 500;
                slider.snapInterval = 1;
                slider.tickInterval = 25;
                slider.liveDragging = true;
                slider.addEventListener(SliderEvent.CHANGE, slider_change);

                var formItem1:FormItem = new FormItem();
                formItem1.label = "textJustify:";
                formItem1.addChild(comboBox);

                var formItem2:FormItem = new FormItem();
                formItem2.label = "width:";
                formItem2.addChild(slider);

                var form:Form = new Form();
                form.styleName = "plain";
                form.addChild(formItem1);
                form.addChild(formItem2);

                var appControlBar:ApplicationControlBar = new ApplicationControlBar();
                appControlBar.dock = true;
                appControlBar.addChild(form);
                addChildAt(appControlBar, 0);

                textBox = new TextBox();
                textBox.setStyle("textAlign", TextAlign.JUSTIFY);
                textBox.text = new Lorem();
                textBox.width = 500;

                var graphic:Graphic = new Graphic();
                graphic.addElement(textBox);
                addChild(graphic);
            }

            private function comboBox_change(evt:ListEvent):void {
                textBox.setStyle("textJustify", comboBox.selectedItem);
            }

            private function slider_change(evt:SliderEvent):void {
                textBox.width = evt.value;
            }
        ]]>
    </Script>

</Application>