<?xml version="1.0" encoding="utf-8"?>
<s:Application
    xmlns:fx = "http://ns.adobe.com/mxml/2009"
    xmlns:s  = "library://ns.adobe.com/flex/spark"
 viewSourceURL="srcview/index.html">
    <fx:Script>
        <![CDATA[
            import mx.core.IVisualElementContainer;
            import spark.components.Scroller;
            import spark.components.VGroup;
            protected var group    :VGroup;
            protected var scroller :Scroller;
            protected override function createChildren():void {
                super.createChildren();

                group        = new VGroup();
                group.width  = 500;
                group.height = 300;

                scroller                                = addElement( new Scroller() ) as Scroller;
                scroller.viewport                       = group;
                scroller.minViewportInset               = 1;
                scroller.measuredSizeIncludesScrollBars = true;
            }
            protected function buttonClickHandler(event:MouseEvent):void {
                var button:Button;
                if(group != null) {
                    button        = group.addElement( new Button() ) as Button;
                    button.width  = 500;
                    button.height = 100;
                    button.label  = getTimer().toString();
                    button.setStyle("fontSize", 20);
                    button.addEventListener(MouseEvent.CLICK,
                        function(event:MouseEvent):void {
                            var b:Button                  = event.currentTarget as Button;
                            var p:IVisualElementContainer = b.parent as IVisualElementContainer;
                            p.removeElement(b);
                            b.removeEventListener(event.type, arguments.callee);
                        }
                    );
                }
            }
        ]]>
    </fx:Script>

    <s:layout>
        <s:VerticalLayout horizontalAlign="center" verticalAlign="middle" />
    </s:layout>

    <s:Button click="buttonClickHandler(event)" />

</s:Application>