IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flex Discussion :

[FLEX] Je créé un menu, et après? [Fait]


Sujet :

Flex

  1. #1
    Membre éclairé Avatar de miya
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 469
    Par défaut [FLEX] Je créé un menu, et après?
    Bonjour à tous,

    Je tente de créer un mini site web en flex, pour essayer de m'améliorer..

    Tout bêtement, je structure mon site web avec un header (un simple Label), en dessous un menu (menuBar), et container (j'ai utilisé un Canvas) et un footer (tjs un simple Label), le tout construit avec des HBOX:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <mx:HBox top="20" height="30" >
    			<mx:Label styleName="myLabelHeader" text="Welcome " textAlign="center" width="400" />	
    		</mx:HBox>
    		<mx:HBox top="80" textAlign="center"	>
    			<mx:MenuBar styleName="myMenuBar" labelField="@label" width="400" textAlign="center"  useHandCursor="true" buttonMode="true">
    				<mx:XMLList xmlns="">
    					<item label="Accueil" textAlign="center" />
    					<item label="Graph" textAlign="center" />
    					<item label="Photo" textAlign="center" />
    					<item label="Contact" textAlign="center" />
    				</mx:XMLList>
    			</mx:MenuBar>
    		</mx:HBox>
    		<mx:Canvas backgroundColor="black" >
     
    		</mx:Canvas>
    		<mx:HBox>
    			<mx:Label text="copyright" textAlign="center" />	
    		</mx:HBox>
    J'ai créé un menu, et le but s'est de pouvoir naviguer avec celui.

    Mais comment m'y prendre? Associer un bouton à une autre page .html avec du flex dedans? mais cela voudrait dire, que mon header/menu/footer est répété.. ou alors tout mettre dans la meme page, et faire en qqsorte un switch et il exécute le code en fonction du bouton pressé ?

    Enfin plein de question dont je me pose....

    Merci de vos éclaircissement

  2. #2
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    tu peux utiliser un viewstack qui contient autant de vue que tu as de pages. Construire ces vues depuis le mode design si tu te sens plus à l'aise au début.
    Puis avec ton menuBar tu affectes une action sur chaque bouton, l'action en question consiste juste a placer l'index du viewstack sur la page qui correspond

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  3. #3
    Membre éclairé Avatar de miya
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 469
    Par défaut
    Bonjour Jim_Nastiq,

    Merci pour ta réponse, tjs aussi clair.

    J'ai avancé sur mon bout de code, et procédé comme tu me l'as dit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    		<mx:HBox top="20" height="30" >
    			<mx:Label styleName="myLabelHeader" text="Welcome" textAlign="center" width="400" />	
    		</mx:HBox>
    		<mx:HBox top="80" textAlign="center">
    			<mx:MenuBar styleName="myMenuBar" labelField="@label" 
    						width="400" textAlign="center" 
    						useHandCursor="true" buttonMode="true"  id="menuBar">
    				<mx:XMLList xmlns="">
    					<item label="Accueil" textAlign="center"  />
    					<item label="Graph" textAlign="center" />
    					<item label="Photo" textAlign="center" />
    					<item label="Contact" textAlign="center"/>
    				</mx:XMLList>
    			</mx:MenuBar>
    		</mx:HBox>
    		<mx:ViewStack id="viewStack" width="200" height="200">
    				<mx:Canvas label="accueil" width="100%" height="100%">
    					<mx:Label text="accueil" />
    				</mx:Canvas>
    				<mx:Form label="graph" width="100%" height="100%">
    					<mx:Label text="graph" />
    				</mx:Form>
    				<mx:Canvas label="photo" width="100%" height="100%">
    					<mx:Label text="photo" />
    				</mx:Canvas>
    				<mx:Canvas label="contact" width="100%" height="100%">
    					<mx:Label text="contact" />
    				</mx:Canvas>
    		</mx:ViewStack>
    Il me reste à faire le lien entre les boutons et mon viewStack, comment procédé?

    J'ai cru comprendre que je devais rajouter la propriété dataProvider au Menu, mais il me fait une erreur si je fais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <mx:MenuBar dataProvider="{viewStack}" />
    Peut etre n'est il pas possible d'utiliser un viewStack avec un menuBar ?
    C'est l'interrogation que je me pose en lisant ceci :
    Ensuite, il vous suffit d'assigner le ViewStack en tant que dataProvider d'une ButtonBar, LinkBar ou ToggleButtonBar:
    src: http://www.flex-tutorial.fr/2008/11/...ator/#more-219

    Merci de l'aide

  4. #4
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    En effet pas possible de passer ton menuBar en dataProvider de ton ViewStack, cependant tu peux utiliser les events dispatcher par ton MenuBar pour gérer dans leurs handler la mécanique qui consiste à changer de vue dans ton viewstack :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tonViewStack.selectedIndex = index;
    index étant a récupérer en fonction du menu

    Sinon, si le MenuBar n'est pas indispensable passe sur un ButtonBar, LinkBar ou ToggleButtonBar

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  5. #5
    Membre éclairé Avatar de miya
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 469
    Par défaut
    Voila, j'avance doucement mais surement.

    A mon menu, j'ai associé un Textinput, pour savoir comment utiliser mon selectedIndex, je suis arrivé a la :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    		<mx:HBox top="80" textAlign="center">
    			<mx:MenuBar styleName="myMenuBar" labelField="@label" 
    						width="400" textAlign="center" 
    						useHandCursor="true" buttonMode="true"  id="menuBar"
    						click="output.text = menuBar.selectedIndex.toString()">
    				<mx:XMLList xmlns="">
    					<item label="Accueil" textAlign="center"  />
    					<item label="Graph" textAlign="center" />
    					<item label="Photo" textAlign="center" />
    					<item label="Contact" textAlign="center"/>
    				</mx:XMLList>
    			</mx:MenuBar>
    		</mx:HBox>
     
    		<mx:TextInput id="output" width="200" />
    Maintenant, je dois arriver a faire le lien entre le viewStack et mon MenuBar

  6. #6
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    tu remplaces ton textinput par ton Viewstack et le tour est joué

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  7. #7
    Membre éclairé Avatar de miya
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 469
    Par défaut
    Merci Jim_Nastiq pour toutes tes réponses

    C'est enfin terminé, je met le code, car toutes les sources que j'ai vu sur internet (pour un débutant) semblait vraiment compliqué, obligé de passer par de l'AS (bien que je n'ai rien contre loin de la), mais pour un premier approche Flex c'était loin d'être évident.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    <mx:HBox top="80" textAlign="center">
    			<mx:MenuBar styleName="myMenuBar" labelField="@label" 
    						width="400" textAlign="center" 
    						useHandCursor="true" buttonMode="true"  id="menuBar"
    						click="viewStack.selectedIndex = menuBar.selectedIndex">
    				<mx:XMLList xmlns="">
    					<item label="Accueil" textAlign="center"  />
    					<item label="Graph" textAlign="center" />
    					<item label="Photo" textAlign="center" />
    					<item label="Contact" textAlign="center"/>
    				</mx:XMLList>
    			</mx:MenuBar>
    		</mx:HBox>
     
    		<mx:ViewStack id="viewStack" width="200" height="200">
    				<mx:Canvas label="accueil" width="100%" height="100%" id="accueil" >
    					<mx:Label text="accueil" />
    				</mx:Canvas>
    				<mx:Form label="graph" width="100%" height="100%" id="graph">
    					<mx:Label text="graph" />
    				</mx:Form>
    				<mx:Canvas label="photo" width="100%" height="100%">
    					<mx:Label text="photo" />
    				</mx:Canvas>
    				<mx:Canvas label="contact" width="100%" height="100%">
    					<mx:Label text="contact" />
    				</mx:Canvas>
    		</mx:ViewStack>
    Sinon, je me demandais, si la méthode que j'ai effectué était propre? Car je n'en ai trouvé aucune (ou j'ai peut etre mal cherché) de ce type.

    De plus, j'ai préféré utiliser un menubar qu'un ToggleButtonBar , car je trouvais que cela faisait plus propre en tant que menu.

    Une derniere question, de la facon d'implémenter le menuBar, cela signifie que tout mon code se situera dans la meme page, ce qui deviendra vite illisible si le site devient plus important, non? étant pro MVC, ca me parait bizarre ^^"

    Dans tous les cas, je te remercie beaucoup pour ton aide

  8. #8
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    oui je t'encourage à utiliser au moins différent composant MXML/AS pour séparer tes vues. Ensuite, pour aller plus loin sur un projet plus complexe, évidement l'utilisation d'un framework MVC devra se poser, et la tu devras faire le choix entre PureMVC et Cairngorn

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  9. #9
    Membre éclairé Avatar de miya
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 469
    Par défaut
    Flex est limité alors? Ce n'est pas la meilleur solution pour coder une application?

  10. #10
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    hein? quoi ?

    euh je ne comprends pas pourquoi tu conclus cela avec ce que je t'ai dit

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  11. #11
    Membre éclairé Avatar de miya
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 469
    Par défaut
    Désolé de tirer des conclusions trop hâtive, mais beaucoup de choses sont flou, bien que je lis énormément de tuto/blog sur la toile.

    J'ai commencé il y a quelque jour mon site web. Il est plus ou moins avancé (sans liaison bd pour l'instant).

    Il est donc construit très simplement, comme je l'ai dis au premier post :

    -----------><mx:HBox> header ( = Label) </mx:HBox>
    --------> <mx:HBox> menu (composé de 4 élement) </mx:HBox>
    -----> <mx:HBox> viewstack (pour afficher mes vues) </mx:HBox>
    --> <mx:HBox> footer ( = Label) </mx:HBox>

    Le menu est composé de 4 pages : accueil / graph / photo / contact

    J'ai plus ou moins terminé de coder l'ensemble des pages, j'ai en gros 200 lignes. Cela commence à faire long, surtout que je n'ai pas fini. Il faudrait donc que je sépare mon code. Une vue pour chaque page, pour mon header, mon footer, mon menu, et mon index appel toutes ces vues.

    Si tu as des conseils/liens n'hésite pas, je suis preneur.

    Dans tous les cas merci encore, et tjs de ton aide.

  12. #12
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    relis mon post plus haut , je t'explique que tu peux utiliser des composants et utiliser sur un gros projet des frameworks MVC (PureMVC, Cairngorn)

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 22/04/2007, 07h31
  2. affichage d'un menu deroulant apres une selection
    Par Mounr dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/03/2007, 20h56
  3. Réponses: 1
    Dernier message: 10/09/2006, 05h33
  4. Garder un menu ouvert apres réactualisation de la page
    Par krolineeee dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 22/06/2006, 14h24
  5. [MFC] Menu inaccessible après changement de nom
    Par Philippe320 dans le forum MFC
    Réponses: 5
    Dernier message: 07/12/2005, 22h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo