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 :

Lien entre élément MXML et classes AS3


Sujet :

Flex

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 19
    Points : 9
    Points
    9
    Par défaut Lien entre élément MXML et classes AS3
    Bonjour,

    Je débute en Flex, mais j'ai l'habitude d'utilisé Java. Je souhaite disposer des éléments d'interface que j'ai créé dans mon fichier mxml pour les utiliser dans d'autres classes AS3. J'ai donc imaginer passer mon application en paramètre du constructeur d'une classe AS3 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
     
       <mx:Script>
          <![CDATA[
             private var commandManager:CommandManager = new CommandManager(this);
    Mais visiblement, mon application n'est pas une classe. Comment faire alors pour pouvoir communiquer avec boutons, labels, combobox et autres datagrid depuis d'autres classes AS3 ?

    Merci !

  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
    Points : 3 189
    Points
    3 189
    Par défaut
    Salut,

    c'est une histoire d'enfant/parent ... de n'importe quel classe tu peux atteindre ton Parent Application avec ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.Application.application
    pour remonter d'un enfant vers son parent, tu peux utiliser :


    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
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    Merci Jim_Nastiq pour ton aide.
    Cependant, "this.applacation" et "this.parent" ne sont pas reconnus dans ma classe ActionScript. Y a-t-il un include à faire ou autre pour permettre d'accéder aux composants d'un fichier MXML depuis une classe ActionScript ?

  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
    Points : 3 189
    Points
    3 189
    Par défaut
    Ah oui ta classe AS3 n'hérite surement pas d'un UIComponent...
    Utilises tu un framework MVC ? si c'est le cas il faut utiliser tes médiateurs.

    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
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    Autant pour moi ! Il me manquait l'import de "mx.core.Application", donc "Application.application" fonctionne bien, mais n'y a-t-il pas mieux ?

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par Jim_Nastiq Voir le message
    Utilises tu un framework MVC ? si c'est le cas il faut utiliser tes médiateurs.
    Là, tu m'as semé
    C'est quoi des "médiateurs" ?

  7. #7
    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
    Points : 3 189
    Points
    3 189
    Par défaut
    Je ne vais pas me lancer dans l'explication du design pattern MVC ici
    bref, si tu l'utilisais, je pense que tu ne poserais pas ta question, donc oublie ou alors forme toi au principe MVC (très utile pour les grosses appli).

    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

  8. #8
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Points : 1 710
    Points
    1 710
    Par défaut
    Nous avons de bon tutoriels sur developpez.com comme par exemple : comprendre comment implémenter le pattern MVC.
    Sinon comme outil existant tu as les plus connus : Cairngorm et PureMVC.

    ++

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    Merci ellene. En fait, je connais le pattern MVC et j'essaie même de le mettre en place dans mon application, mais je n'utilise pas d'outil particulier. J'ai déjà vu le tuto que tu mentionnes, mais je ne sais pas ce qu'est un médiateur, ni comment il peut m'aider à récupérer mes composants définis dans le fichier MXML depuis n'importe quelle classe de mon application.

  10. #10
    Membre éclairé
    Homme Profil pro
    Consultant Angular / Java J2EE
    Inscrit en
    Novembre 2008
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant Angular / Java J2EE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 545
    Points : 875
    Points
    875
    Par défaut
    Citation Envoyé par poooky Voir le message
    Autant pour moi ! Il me manquait l'import de "mx.core.Application", donc "Application.application" fonctionne bien, mais n'y a-t-il pas mieux ?
    Tu peux utiliser également une variable faisant référence à ton parent, et la setter au moment ou tu instancie ta classe depuis le parent :


    (Le parent s'appelle ici parentComp correspondant au composant MainView.mxml par exemple, la classe s'appelle OtherClass)


    Dans ta classe OtherClass :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    private var _parentComp:MainView;
    public function get parentComp():MainView{return _parentComp;}
    public function set parentComp(pC:MainView):void{_parentCmp = pC;}
    Depuis ton MainView.as (ou ton code as dans ton .mxml) lorsque tu instancie ta nouvelle classe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var obj:OtherClass= new OtherClass();
    obj.parentComp = this;
    Quelque chose dans ce genre ?
    N'oubliez pas avant de poster :

Discussions similaires

  1. [Flex3] Lien classe MXML et classe AS3
    Par souf1987 dans le forum Flex
    Réponses: 3
    Dernier message: 03/01/2013, 14h56
  2. [sfGuard] Lien entre sfGuard et ma classe utilisateur
    Par Arcapt dans le forum Plugins
    Réponses: 2
    Dernier message: 05/12/2011, 00h25
  3. [DC] Lien entre les classes.
    Par Falcor dans le forum Diagrammes de Classes
    Réponses: 3
    Dernier message: 02/01/2008, 09h37
  4. Réponses: 6
    Dernier message: 02/12/2007, 10h30
  5. Liens entre des classes héritées
    Par qwiqwi dans le forum C++
    Réponses: 12
    Dernier message: 09/02/2006, 15h36

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