以编程方式在flex中创建网格

时间:2014-03-20 10:16:20

标签: actionscript-3 flash flex flash-builder flex-mx

我现在正试图学习flex,而且我遇到了一些麻烦。 我想创建一个新的网格,但不是在XML中。我想在脚本部分创建它。

这是我写的代码:

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:fx="http://ns.adobe.com/mxml/2009"
           xmlns:s="library://ns.adobe.com/flex/spark"
           xmlns:mx="library://ns.adobe.com/flex/mx"
           xmlns:flextras="http://www.flextras.com/mxml"
           width="1500" height="700">
    <fx:Declarations>
        <!-- Placer ici les éléments non visuels (services et objets de valeur, par exemple). -->
    </fx:Declarations>

    <fx:Script>
        <![CDATA[
            import flash.sampler.NewObjectSample;

            import mx.containers.Grid;
            import mx.containers.GridItem;
            import mx.containers.GridRow;

            import spark.components.Button;
            import spark.components.gridClasses.GridColumn;

            private var myGrid: Grid;
            private var gridRow : GridRow;
            private var gridItem : GridItem;
            private var myButton : Button;


            private function init():void
            {
                myGrid = new Grid();
                gridRow = new GridRow();
                gridItem = new GridItem();
                myButton = new Button();
                myButton.label = "Hi guys !";

                gridItem.addChild(myButton);
                gridRow.addChild(gridItem);
                myGrid.addChild(gridRow);
                myGrid.validateNow();
            }

        ]]>
    </fx:Script>

</mx:Canvas>

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您已将该项目添加到行中,并将行添加到网格中,但您尚未将网格添加到画布

this.addChild(myGrid);