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

AWT/Swing Java Discussion :

[info] A quoi sert ImageObserver ?


Sujet :

AWT/Swing Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 32
    Points : 23
    Points
    23
    Par défaut [info] A quoi sert ImageObserver ?
    Salut à tous,

    je crée une instance d'une image avec la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Image img = Toolkit.getDefaultToolkit().getImage("path");
    puis j'aimerais connaitre les dimensios de cette image.

    Les méthode getWidth() et getHeight() de la classe image prennent un ImageObserver en argument. Alors, qu'est-ce que c'est exactement ? J'imagine qu'il s'agit de la fenêtre la plus englobante de ma boite de dialogue. Mais la méthode fonctionne aussi si je lui passe un simple 'new JFrame()' en argument. Y'a t-il alors un risque d'obtenir les mauvaises dimensions de l'image ?

    Merci !

  2. #2
    Membre habitué
    Avatar de Tifauv'
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 102
    Points : 129
    Points
    129
    Par défaut
    Il me semble que ImageObserver permet à Swing d'attendre que les images soient effectivement chargées.
    Je m'explique : quand tu déclares une image (à partir d'un fichier ou URL), la JVM va charger la ressource correspondante dans une thread et rendre la main immédiatement, même si l'image n'est pas entièrement chargée. Swing utilise un ImageObserver pour attendre la fin du chargement.
    - Un pointeur, c'est comme un fusil chargé mal reglé avec la gachette qui s'appuie toute seule des fois.
    - Nan nan nan ça c'est le C. Un pointeur, c'est la même chose, mais avec le Quad Damage.

  3. #3
    Membre averti
    Avatar de JHelp
    Inscrit en
    Octobre 2002
    Messages
    185
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 185
    Points : 444
    Points
    444
    Par défaut
    En fait ce paramétre sert pour les cas ou l'image risque de ne pas être prête au moment de l'invocation de ces méthodes. Par exemple pour une image chargée, construite à partir de calculs, ... La taille renvoyée dans ce cas est -1, et l'ImageObserver est modifié au moment ou l'image est prête.
    En pratique cet argument sert trés rarement, car pour le chargement à distance on préfére utiliser MediaTracker ou ImageIcon et pour la construction un BufferedImage en général.
    Tu peut mettre null, ça fonctionne pareil.
    ImageObserver sert plutôt dans graphics pour présiser le composant ou on affiche, afin que la synchronization entre la fin deu dessin de l'image et l'affichage du composant se fasse correctement
    JHelp
    Pour avoir une réponse efficace :
    1) Soyez précis dans vos questions
    2) Choisssez bien votre forum
    3) Consultez la FAQ et la doc avant

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 32
    Points : 23
    Points
    23
    Par défaut
    Donc il remplit les mêmes fonctions que le MediaTracker, et il vaut mieux utiliser ce dernier :

    Merci pour vos réponses.

  5. #5
    Membre averti
    Avatar de JHelp
    Inscrit en
    Octobre 2002
    Messages
    185
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 185
    Points : 444
    Points
    444
    Par défaut
    Exact. Car MediaTracker va te permetre de mieux repérer la fin de chargement, voir attendre la fin du chargement. Tandis qu'un ImageObserver va t'obliger a faire une boucle d'attente ou une boucle de vérifiaction, c'est moins propre et plus consomateur en CPU
    JHelp
    Pour avoir une réponse efficace :
    1) Soyez précis dans vos questions
    2) Choisssez bien votre forum
    3) Consultez la FAQ et la doc avant

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

Discussions similaires

  1. A quoi sert XML-Schema
    Par Community Management dans le forum Valider
    Réponses: 20
    Dernier message: 26/01/2009, 09h52
  2. [Info] A quoi sert une clé étrangère ?
    Par Rampa dans le forum Débuter
    Réponses: 1
    Dernier message: 19/07/2005, 14h26
  3. à quoi sert le délestage?
    Par r0d dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 5
    Dernier message: 06/10/2004, 14h34
  4. a quoi sert le schema dans postgres ??
    Par champion dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 13/09/2004, 10h25

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