Reputation: 1575
var panel:Panel = new Panel();
panel.title = source.displayValue + "-" + data.displayValue;
panel.percentWidth = 100;
var upButton:Button = new Button();
// upButton.setStyle("icon", upIcon);
upButton.label="test";
var downButton:Button = new Button();
var closeButton:Button = new Button();
var controlBar:ControlBar = new ControlBar();
controlBar.addChild(upButton);
controlBar.addChild(downButton);
controlBar.addChild(closeButton);
controlBar.height = 50;
//panel.addChild(chart);
panel.addChild(controlBar);
I Have the above code, looking at all the examples I canf ind online I have done everything correctly, yet, i still dont have my control bar
when inspection the number of children each element has in eclipse, the control bar numChildren property goes up, but the panel doesn't so its as if its not getting added. Please help :|
Upvotes: 0
Views: 664
Reputation: 3338
Flex 3 version of my previous answer:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" minWidth="955" minHeight="600">
<mx:Script>
<![CDATA[
import mx.containers.ControlBar;
import mx.containers.Panel;
import mx.containers.VBox;
import mx.controls.Label;
protected function button_clickHandler(event:MouseEvent):void
{
var panel:Panel = new Panel();
panel.title = "Hello Panel";
panel.percentWidth = 100;
var upButton:Button = new Button();
upButton.label="upButton";
var downButton:Button = new Button();
downButton.label="downButton";
var closeButton:Button = new Button();
closeButton.label="closeButton";
var controlBar:ControlBar = new ControlBar();
controlBar.addChild(upButton);
controlBar.addChild(downButton);
controlBar.addChild(closeButton);
var vBox:VBox = new VBox();
vBox.percentWidth = 100;
vBox.height = 100;
var lbl:Label = new Label();
lbl.text = "This is content";
vBox.addChild(lbl);
panel.addChild(vBox);
panel.addChild(controlBar);
addChild(panel);
}
]]>
</mx:Script>
<mx:Button top="" label="createPanel" click="button_clickHandler(event)" />
</mx:Application>
Upvotes: 1
Reputation: 3338
If you are using flex 4 you can just specify the controlBarContent property on the panel:
<?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"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
import spark.components.Panel;
protected function button_clickHandler(event:MouseEvent):void
{
var panel:Panel = new Panel();
panel.title = "Hello Panel";
panel.percentWidth = 100;
var upButton:Button = new Button();
upButton.label="upButton";
var downButton:Button = new Button();
downButton.label="downButton";
var closeButton:Button = new Button();
closeButton.label="closeButton";
panel.controlBarContent = [upButton, downButton, closeButton];
addElement(panel);
}
]]>
</fx:Script>
<s:Button label="createPanel" click="button_clickHandler(event)" />
</s:Application>
Hope that helps.
Upvotes: 1