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 :

obtenir la résolution de l'écran


Sujet :

Flex

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 229
    Points : 79
    Points
    79
    Par défaut obtenir la résolution de l'écran
    Bonjour ,

    j'ai vu sur un post que pour obtenir la résolution de l'écran il faut faire :
    this.parentApplication.height
    this.parentApplication.width

    J'ai donc essayé de mettre ça dans la partie actionscript de mon mxml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="unTest()">
        <mx:Script>
        	public function unTest():void {
    			var i:Number = this.parentApplication.height;
    			var j:Number = this.parentApplication.width;
        	}
    	</mx:Script>
    </mx:Application>
    et là lorsque j'execute j'ai l'erreur suivante :

    TypeError: Error #1009: Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul.
    at test/unTest()[D:\DevJEE2008\workspace\test\flex_src\test.mxml:5]
    at test/___test_Application1_creationComplete()[D:\DevJEE2008\workspace\test\flex_src\test.mxml:2]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.core::UIComponent/dispatchEvent()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as:9051]
    at mx.core::UIComponent/set initialized()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as:1167]
    at mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\managers\LayoutManager.as:698]
    at Function/http://adobe.com/AS3/2006/builtin::apply()
    at mx.core::UIComponent/callLaterDispatcher2()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as:8460]
    at mx.core::UIComponent/callLaterDispatcher()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as:8403]

    et si je debug, il me dit que mon parentApplication est null...

    Voilà, donc je me demande si c'est bien ça qu'il fallait faire en fait...

    merci !
    Pascale38

  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
    Si tu regardes la documentation la propriété parentApplication pointe vers le document parent de tout UIComponent.
    Dans ton cas tu es sur ton composant application(celui de lancement) donc pas de parent... tu pointes directement dessus avec un simple this:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="unTest()">
        <mx:Script>
        	public function unTest():void {
    			var i:Number = this.height;
    			var j:Number = this.width;
        	}
    	</mx:Script>
    </mx:Application>

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 229
    Points : 79
    Points
    79
    Par défaut
    ahhhhhhhhhhhhhh ok, merci ça marche !

    heu par contre j'ai l'impression que ce n'est pas exactement ce que je cherche...
    En effet cela me donne donc la taille de mon application et non la résolution de l'écran...
    même si en effet selon la résolution ces valeurs changent :
    Pour une résolution 1024*768 -> 1020 et 635
    Pour une résolution 1280*1024 -> 1276 et 891
    (sachant que je n'ai défini aucune valeur ni pour le height ni pour le width de mon application)

    D'où viennent ces valeurs ?
    Est il possible de configurer l'appli pour avoir les résolutions exactes ?
    (j'ai essayé de mettre width et height à 100% mais ça ne change rien)
    Désolée mes questions sont un peu bêtes mais je suis toute novice en Flex !

    merci d'avance...
    Pascale38

  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
    la ce n'est plus une question Flex. Le flash Player te retourne la hauteur et la largeur de la scène, c'est a dire si tu met 100% en contrainte la taille affichable sur ton écran dans ton browser.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 229
    Points : 79
    Points
    79
    Par défaut
    Ahhhh ben j'étais justement en train de poster une réponse que voici :

    En fait après quelques tests, il s'avère que la taille de l'application dépend de la place "dispo" dans le navigateur.
    Je m'explique : tout dépend si la barre d'état est affiché, la barre de menu, etc... Et aussi si l'appli est lancée dans un navigateur en plein écran ou non...
    Donc en fait cette solution ne répond pas à mon problème... snifff

    Alors existe il un moyen de connaitre la résolution de l'écran en Flex ?

    encore merci...
    Pascale38

  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
    Points : 3 189
    Points
    3 189
    Par défaut
    Regardes peut etre la classe System mais je ne crois pas qu'elle indique ce genre d'information, je sais qu'elle permet d'avoir la version du Flash Player, l'OS, etc... mais la résolution je ne crois pas...

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 229
    Points : 79
    Points
    79
    Par défaut
    Bon j'ai rien trouvé,
    mais merci beaucoup pour ton aide !

    Pascale38

  8. #8
    Membre expérimenté Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Points : 1 537
    Points
    1 537
    Par défaut
    tu n'as pas du beaucoup chercher dans : flash.system.Capabilities
    car on peut recup la résolution X et Y ainsi que plein d'autres infos sur le matos du client + ... etc

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 229
    Points : 79
    Points
    79
    Par défaut
    Effectivement j'ai cherché rapidement, c'est assez laborieux de regarder tous les class de system, puis toutes les propriétés de ces class...
    En tout cas je te remercie beaucoup, je mets donc ce post en résolu !

    Pascale38

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

Discussions similaires

  1. Obtenir la résolution de l'écran
    Par henri005 dans le forum Général Python
    Réponses: 5
    Dernier message: 23/09/2012, 12h13
  2. [À télécharger] Obtenir et changer la résolution de l'écran
    Par SfJ5Rpw8 dans le forum Vos téléchargements VB6
    Réponses: 0
    Dernier message: 14/11/2010, 16h53
  3. Comment obtenir la résolution de l'écran
    Par debo41 dans le forum Flex
    Réponses: 5
    Dernier message: 17/11/2008, 17h12
  4. Obtenir la "bonne" résolution d'un écran en dpi
    Par geoffroy890 dans le forum Interfaces Graphiques en Java
    Réponses: 5
    Dernier message: 23/03/2007, 15h19
  5. Obtenir la résolution d'écran des utilisateurs ?
    Par piff62 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 23/04/2006, 01h47

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