uhusahdsa Ja estava quase terminando de escrever um texto explicando melhor o problema e achei a solução.
O método loadWindow estava certo.Só que estava cometendo um pequeno erro. No blog da Gabriela ela usou um array com label e windowToLoad para carregar os itens em um repeater. Utilizei no xml do menu bar a label e a data(com o caminho do componente) ex: data="windows.Aniversariantes" Só que no click do menu estava chamando assim: itemClick="loadWindow(event.currentTarget.data)" enquanto o correto é assim: itemClick="loadWindow(event.it...@data)" Só mais uma ultima dúvida. Por que é necessário ter uma variavel para cada componente.Ex: private var aniversariantes:Aniversariantes; Não achei aonde essa variavel é usada. Valeu a todos pela ajuda On 31 dez, 12:15, "Vinícius Sandim" <[email protected]> wrote: > Oi Rafael, bom dia.. > > Da uma olhada no Component Explorer, lá tem um exemplo com o Menu Bar em: > > *Visual Components > Menu Controls > Menu Bar* > > http://examples.adobe.com/flex3/componentexplorer/explorer.html > > Tem este e muitos outros exemplos. > > Vinícius Sandimwww.viniciussandim.com > > ---------------------------------------------------------------------------------------------------------------------------------------------------------- > > 2008/12/31 RafaelViana <[email protected]> > > > > > > > Mesmo pesquisando estou com alguma dificuldades olhei o blog da > > Gabriela Perry e um grupo la no yahoo.E cheguei na seguinte função: > > > [Bindable] > > private var arWindows:Array = > > [{windowToLoad:"windows.Aniversariantes", label:"Aniversariantes"}]; > > > private var aniversariantes:Aniversariantes; > > > private function loadWindow(param:String):void{ > > var classRef:Class = getDefinitionByName(param) as > > Class > > var minhaVariavel:* = new classRef(); > > > PopUpManager.centerPopUp(PopUpManager.createPopUp(this, > > classRef, true)); > > } > > > No exemplo do blog da Gabriela Perry ela utliza o array como data > > provider em um repeater.Mas eu quero utilizar em um menubar. > > > Só que o menubar está vindo de um xmlList que contem a hierarquia dos > > menus.Se eu utilizo o array como dataprovider fica tudo na horizontal > > sem os sub-menus.E se eu coloco a propriedade windowsToLoad no XML da > > a seguinte mensagem quando clico no item do menu: Property > > windowToLoad not found on mx.controls.MenuBar and there is no default > > value. > > > On 30 dez, 09:56, RafaelViana <[email protected]> wrote: > > > Bah valeu, não estava sabendo por quais termos eu procurava. > > > Depois volto para dar um retorno > > > > Mário Júnior escreveu: > > > > > Procure no hist rico por "*getDefinitionByName*" vc vai achaar um monte > > de > > > > e-mails comentando sobre isso. > > > > Vc passa uma string (o nome da sua classe completa) e ter de retorno um > > > > Class. > > > > > Tamb m pesquise pelo uso da classe Dictionary para vc poder centralizar > > suas > > > > classes componentes. > > > > D uma olhada no blog da Gabriela Perry q ela j escreveu sobre isso. > > > > > Bons estudos. > > > > > 2008/12/30 RafaelViana <[email protected]> > > > > > > Certo.As telas que fiz foi como componente mesmo. > > > > > > Os containers olhei naquelas video-aulas do "Learn Flex in a Week", > > > > > mas vou dar mais uma pesquisada na documenta o, apesar que tenho > > > > > preferido usar posicionamento absoluto nos formul rios.Mas estou > > > > > trabalhos com Accordion,TabNavigator para separar as informa es. > > > > > > Eu fiz essa pergunta anterior de como a maneira certo de criar as > > > > > telas, porque, a maioria dos cases que olhei para que havia apenas a > > > > > troca de estados. > > > > > > Quando utlizo LinkButton ou algo semelhante, coloco um evento no > > > > > clique, > > click="PopUpManager.centerPopUp(PopUpManager.createPopUp(this, > > > > > NomeDoComponente ,true));", > > > > > Para criar a janela e centrar ela na tela. > > > > > > S que quando utilizo um MenuBar que tem os dados vindo do xml, n o > > > > > sei como "generalizar" isso para que todos abram um componente > > > > > conforme um parametro que eu passar.Ex: > > > > > > <mx:MenuBar id="menuBar" labelField="@label" > > > > > itemClick="PopUpManager.centerPopUp(PopUpManager.createPopUp(this, > > > > > NomeDoComponente ,true));" dataProvider="{menuBarCollection}" /> > > > > > > Ali no NomeDoComponente, se eu colocar o nome de um componente ele > > vai > > > > > abrir certo, mas eu queria que ele n o abrisse sempre o mesmo > > > > > componente, e sim, abrisse um componente diferente conforme o item > > que > > > > > foi selecionado no menubar. > > > > > > S que se passo um parametro ele considera como String, e no metodo > > > > > createPopUp necess rio uma classe ent o d erro de convers o.E > > > > > tamb m as telas est o em uma pasta separada eu teria que concactenar > > > > > isso que geraria uma string. > > > > > > Como eu posso fazer?Incrivelmente n o achei nada parecido com o que > > eu > > > > > quero no google. > > > > > > On 29 dez, 19:52, "M rio J nior" <[email protected]> wrote: > > > > > > tem v rias maneiras... mas o mais comum como componentes. > > > > > > Procure saber mais sobre os containers do flex e ent o poder > > > > > > projetar/implementar telas bem eficientes. > > > > > > > bons estudos. > > > > > > > 2008/12/29 RafaelViana <[email protected]> > > > > > > > > Ol , estou iniciando nesse mundo de desenvolvimento flex.E como > > todo > > > > > > > iniciante, tamb m tenho minhas d vidas. uma pergunta mais > > pessoal, > > > > > > > creio eu, portanto n o achei um termo especifico para se procurar > > no > > > > > > > google.E resolvi procurar a ajuda de voc s. > > > > > > > > Como voces criam as telas do sistema? > > > > > > > Como componentes, como modulos ou como states? > > > > > > > -- > > > > > > M rio de Souza J nior > > > > > > Programador Java / Adobe Flexhttp://blog.mariojunior.com > > > > > -- > > > > M rio de Souza J nior > > > > Programador Java / Adobe Flex > > > >http://blog.mariojunior.com --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para [email protected] Para sair da lista, envie um email em branco para [email protected] Mais opções estão disponíveis em http://groups.google.com/group/flexdev -~----------~----~----~----~------~----~------~--~---
