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 :

[Java2d] Superposition de graphics2D


Sujet :

2D Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2010
    Messages : 47
    Par défaut [Java2d] Superposition de graphics2D
    Bonjour,

    J'essaye de réaliser un truc : imaginez un dessin plutôt lourd a dessiner dont le repaint ne fait pas du bien au programme et le ralentit un peu.

    J'essaye de dessiner un réticule par dessus qui permettra à l'utilisateur d'afficher des données concernant la zone ou se trouve le curseur (le réticule).

    L'utilisateur peut donc déplacer ce réticule ou bon lui semble et cela provoque forcement des repaints.

    J'ai donc voulu séparer l'image lourde du réticule pour éviter les ralentissements.

    Pour cela, j'ai créé 2 panels surchargeant la méthode paint et je les affiche dans un jlayeredpane mais j'ai un problème, lors du deplacement du curseur, j'appelle uniquement le repaint du panelreticule et pourtant le repaint du panelimagelourde se déclenche lui aussi.

    Mais que se passe-t-il ?

    Des idées ?

    Merci d'avance pour votre aide !

  2. #2
    Membre Expert Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Par défaut
    Bonjour,

    tu devrais utiliser le repaint(x,y,w,h) qui redessine une zone particulière du dessin.
    J'ai eu le même problème que toi, la discussion est ici

  3. #3
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 897
    Billets dans le blog
    54
    Par défaut
    De plus, si le dessin du panel du dessous est vraiment très lourd mais pas très souvent rafraichi, tu peux le dessiner dans une BufferedImage compatible (voir ) et composer cette image à l'écran ce qui sera toujours plus rapide que de dessiner directement sur l'écran.

    Le coup du repaint(x, y, w, h) ne fonctionne de manière optimale que si tu modifies ton rendu de manière à ne dessiner que ce qui intersecte la forme de clip du Graphics récupéré en paramètre de paintComponent(). Le coût des tests d'intersection est négligeable par rapport au coût du dessin dans sa totalité.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2010
    Messages : 47
    Par défaut
    La bufferedimage a bien fonctionné.

    Merci de votre aide !

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

Discussions similaires

  1. [Swing][Graphics2D] dessiner une flèche
    Par Galima dans le forum 2D
    Réponses: 13
    Dernier message: 03/12/2011, 23h31
  2. [SWING][JAVA2D] définir le couleur transparente d'un PNG
    Par TreizeSegments dans le forum 2D
    Réponses: 16
    Dernier message: 03/08/2009, 10h39
  3. Réponses: 4
    Dernier message: 06/12/2006, 10h29
  4. Superposition de canevas
    Par Anonymous dans le forum C++Builder
    Réponses: 5
    Dernier message: 21/06/2004, 11h08
  5. [appli][Java2D]Pb scintillement Animation
    Par ddams dans le forum 2D
    Réponses: 2
    Dernier message: 25/04/2003, 11h57

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