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 :

JLayeredPane : optimiser affichage


Sujet :

AWT/Swing Java

  1. #1
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Points : 114
    Points
    114
    Par défaut JLayeredPane : optimiser affichage
    Bonjour

    j'ai un probleme avec un JLayeredPane.
    J'ai 2 couches.
    Chacune contient un JComponent dans lesquels je dessine avec la surcharge de paintComponent().

    L'affichage d'une des deux couches est long. Je voudais le mettre en fond.
    J'ai donc utilisé un Thread créé depuis paintComponent(), mais le probleme est que une fois l'affichage de cette couche terminé (une fois le Thread exécuté), ma 1° couche n'apparait plus (son dessin), car je pense pas d'appel à paintComponent après que le Thread long soit fini.

    Il n'est pas possible de faire un repaint() sur la couche rapide étant donné que cela va rappeler un repaint() de ma couche longue à s'afficher puisque les 2 couches sont dans le même JLayeredPane .

    Avez-vous une idée pour afficher 2 couches, dont l'une a besoin d'un long traitement pour s'afficher, tout en permettant à l'autre de s'afficher rapidement ?

    Pour info, la couche avec le traitement long est mon fond de carte.

    Merci d'avance pour toute aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 548
    Points : 635
    Points
    635
    Par défaut
    J'utiliserais une image comme buffer : la méthode paintComponent affiche ce buffer, et pendant ce temps un thread remplit l'image buffer. De temps en temps tu appeles repaint().

  3. #3
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Points : 114
    Points
    114
    Par défaut
    Merci pour l'info, mais je ne peux essayer ça pour l'instant, d'autres trucs plus urgent à faire.
    Je testerais la semaine prochaine si je le peux, merci.

    Mais si vous avez d'autres idées, je prend

  4. #4
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    Bonjour,

    créer un Thread dans paintComponent n'est pas des meilleures choses à faire. Il vaut mieux créer un Thread avant (lors de la modification des données) qui dessine dans une image. Ensuite, dans paintComponent, on affiche cette image (ce qui est très rapide, même si l'image est immense).

    Pour un fond de carte (qui ne doit pas changer souvent dans l'application), c'est vraiment tout à fait adapté.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

Discussions similaires

  1. [Oracle] Optimiser affichage dans une table
    Par evil_mouss dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 24/07/2009, 18h49
  2. [VS2005] Optimisation affichage d'un formulaire
    Par belfaigore dans le forum Windows Forms
    Réponses: 4
    Dernier message: 03/07/2009, 15h33
  3. Optimiser affichage requete
    Par Shivas dans le forum Langage SQL
    Réponses: 5
    Dernier message: 03/05/2008, 11h15
  4. [MySQL] optimisation affichage du résultat d'un select
    Par guiguimouk dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 30/04/2008, 10h26
  5. Optimisation affichage 2D
    Par NiamorH dans le forum OpenGL
    Réponses: 25
    Dernier message: 10/04/2007, 10h21

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