[RESOLVIDO]Ajuda com TabNavigator adobe flex 4

Boa tarde a todos.

Meu caso é o seguinte:

Preciso bolar um esquema para minha aplicação que funciona mais ou menos assim. Ao clicar em determinado botão uma aba será aberta no canto superior da tela.

  • Essa aba deve ser um container, que traga alguns componentes dentro dela. Portanto, esse container deve ser chamado(já deve existir). E ser chamado apenas uma vez(caso o botão seja clicado novamente, outra aba não pode ser aberta).

Tentei usar a propriedades visible mas não funcionou, uma vez que com isso só consigo esconder o Tab navigator, e não uma determinada aba do TabNavigator.

Tentei usar também o addChild, mas bati um pouco de cabeça e acabei não entendendo direito.

alguém já fez algo parecido? pode me passar a idéia de como devo resolver esta questão ???

Obrigado.

Cara você pode fazer +/- assim:
seu componente Navigator:

<s:NavigatorContent xmlns:fx="http://ns.adobe.com/mxml/2009" 
					xmlns:s="library://ns.adobe.com/flex/spark" 
					xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%">
	<fx:Declarations>
		<!-- Place non-visual elements (e.g., services, value objects) here -->
	</fx:Declarations>
	
	<fx:Script>
		<![CDATA[
			public var visivel:Boolean;
			
			private static var _instance:Tab2;
			public static function getInstance():Tab2{
				if(_instance == null){
					_instance = new Tab2();
				}
				return _instance;
				
			}
			
		]]>
	</fx:Script>
	<s:DataGrid left="10" right="10" top="10" bottom="10" requestedRowCount="4">
		<s:columns>
			<s:ArrayList>
				<s:GridColumn dataField="dataField1" headerText="Column 1"></s:GridColumn>
				<s:GridColumn dataField="dataField2" headerText="Column 2"></s:GridColumn>
				<s:GridColumn dataField="dataField3" headerText="Column 3"></s:GridColumn>
			</s:ArrayList>
		</s:columns>
		<s:typicalItem>
			<fx:Object dataField1="Sample Data" dataField2="Sample Data" dataField3="Sample Data"></fx:Object>
		</s:typicalItem>
		<s:ArrayList>
			<fx:Object dataField1="data1" dataField2="data1" dataField3="data1"></fx:Object>
			<fx:Object dataField1="data2" dataField2="data2" dataField3="data2"></fx:Object>
			<fx:Object dataField1="data3" dataField2="data3" dataField3="data3"></fx:Object>
			<fx:Object dataField1="data4" dataField2="data4" dataField3="data4"></fx:Object>
		</s:ArrayList>
	</s:DataGrid>
</s:NavigatorContent>

Dai voce pode chamar ele assim da sua application:

<?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:Declarations>
		<!-- Place non-visual elements (e.g., services, value objects) here -->
	</fx:Declarations>
	
	<fx:Script>
		<![CDATA[
			
			private function onCluckShowTab2():void {
				var tab2:Tab2 = Tab2.getInstance();
				if(!tab2.visivel){
					tab2.label = "Tab2";
					tabNavigator.addChild(tab2);	
				}
			}
			
			
		]]>
	</fx:Script>
	<mx:TabNavigator id="tabNavigator" y="10" left="10" right="10" height="200">
		<s:NavigatorContent width="100%" height="100%" label="Tab 1"/>
	</mx:TabNavigator>
	<s:Button x="10" y="225" label="Show Tab2" click="onCluckShowTab2()"/>
</s:Application>

ve se isso te ajuda :D…vlwww

Grande jffiorotto obrigado pela dica, e me desculpe pela demora da resposta.

Já tinha conseguido resolver esse problema, usei a lib SuperTabNavigator, que já resolveu boa parte dos meus problemas rsrs…

Mas valeu mesmo assim!!!

Att