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

2D Java Discussion :

Image qui apparait aléatoirement


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mai 2007
    Messages : 149
    Par défaut Image qui apparait aléatoirement
    Bonjour,

    J'ai un petit souci.
    J'ai une application qui recupère des coordonnées GPS et qui affiche la position correspondante (via un cercle) sur une carte géographique. Cependant, lorsque je lance mon application, la carte qui est à l'arrière plan apparaît et disparaît aléatoirement dès que je vais sur un autre onglet de mon application et que je reviens sur celui-ci.
    J'ai bien essayé d'utiliser des Graphics2D à la place des Graphics (comme dit dans ce sujet : http://www.developpez.net/forums/sho...ight=drawImage, mais le résultat n'est pas mieux.

    Voici le code en question, la méthode drawCircleLocalisation étant celle qui affiche la position GPS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public PaintingLocationPanel() {
    		super();
    		super.setVisible(true);
    	}
     
    	public void paintComponent(Graphics2D g2d) {
    		super.paintComponent(g2d); 
    		g2d.drawImage(Toolkit.getDefaultToolkit().createImage("img/world3.jpg"), 0, 0, null);
    		drawCircleLocalisation(g2d);
    	}

  2. #2
    Membre chevronné Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Par défaut
    Dans le code, l'image est chargée (ouverture du fichier, lecture, création d'un objet image, ...) à chaque affichage, de plus le Toolkit travaille en mode asynchrone d'où l'affichage aléatoire, soit la méthode createImage a le temps de lire le fichier et là tout va bien, soit elle n'a pas le temps et dans ce cas comme il manque un ImageObserver le composant n'est jamais prévenu de la fin du chargement de l'image donc il n'y a pas d'affichage.

    Pour résoudre la chose, il y a plusieurs solutions :
    - si le Toolkit est obligatoire, utiliser un ImageObserver et préférer la méthode getImage qui semble plus appropriée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g2d.drawImage(Toolkit.getDefaultToolkit().getImage("img/world3.jpg"), 0, 0, this);
    - Sinon il est préférable de charger l'image à la création de l'objet PaintingLocationPanel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    	private Image fondCarto;
     
    public PaintingLocationPanel() {
    	super();
    	fondCarto= ImageIO.read(new File("img/world3.jpg"));
    	super.setVisible(true);
    }
     
    public void paintComponent(Graphics2D g2d) {
    	super.paintComponent(g2d);
    	g2d.drawImage(fondCarto, 0, 0, null);
    	drawCircleLocalisation(g2d);
    }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mai 2007
    Messages : 149
    Par défaut
    Citation Envoyé par ngpub Voir le message
    Pour résoudre la chose, il y a plusieurs solutions :
    - Sinon il est préférable de charger l'image à la création de l'objet
    Effectivement, ca marche beaucoup mieux avec ta solution. Merci !

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

Discussions similaires

  1. drawImage, image qui n'apparait pas
    Par domxaline dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 14/07/2013, 23h02
  2. [XHTML] Image qui n'apparait pas sur IE
    Par yo_haha dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 09/01/2010, 09h52
  3. Réponses: 1
    Dernier message: 02/10/2009, 16h51
  4. [PHP 5.2] Mon code qui affiche aléatoirement des images
    Par pierrot10 dans le forum Langage
    Réponses: 2
    Dernier message: 07/07/2009, 17h01
  5. Image qui apparait progressivement
    Par ab31170 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 03/06/2008, 22h15

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