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 :

methode paint en java


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 11
    Par défaut dessiner avec la methode paint sans ecraser le precedent dessin
    bonjour,
    SVP est ce que quelqu'un peux me donner l'explication et le fonctionnement du la methode paint.

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    La methode paint a pour but en swing d'appeler les méthodes paintComponent, paintChildren et paintBorder. Donc il ne faut en aucun cas redéfinir cette méthode.

    Si tu veux dessiner sur un JComponent il faut redéfinir la méthode protected void paintComponent(Graphics g).

    par exemple pour dessiner un Rectangle dans le fond d'un JLabel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public class MonPanelARectangle extends JPanel{
       @override
       protected void paintComponent(Graphics g) {
          g.drawRectangle (20,20,getWidth()-40, getHeight()-40);
          super.paintComponent(g);
       }
     
    }

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 11
    Par défaut mise à jour d'un jpanel
    merci de me repondre
    mon problème c'est que lorsque je dessine dans une boucle en changeant les coordonné il ne se dessine que le dessin de la dernière itération et j'ai pas trouvé de solution

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Comment procèdes tu?

    (A noter que si tu cherches à faire une animation, une boucle dans le paintComponent n'est en aucun cas la manière de procéder).

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 11
    Par défaut
    mon but s'est de dessiner le diagramme de G_A_N_T_T.
    en dessinant des rectongles un par un si vous voulez je peux vous envoyer mon projet par mail juste envoyez moi votre email dans un message car je peu pas publier mon code

  6. #6
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 817
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 817
    Par défaut
    Citation Envoyé par saheliano Voir le message
    en dessinant des rectongles un par un si vous voulez je peux vous envoyer mon projet par mail juste envoyez moi votre email dans un message car je peu pas publier mon code
    en même temps, dessiner un rectangle en java, ce n'est pas confidentiel, tout le monde y a accès...

    si tu n'as que le dessin de la dernière itération, c'est que tu effaces tout ce que tu dessines entre chaque itération. Donc l'erreur devrait se trouver rapidement...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 11
    Par défaut
    je sais pas !
    comment faire pour preserver l'ancien dessin

  8. #8
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 901
    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 901
    Billets dans le blog
    54
    Par défaut
    Tu ne peux pas, à chaque réaffichage (complet*) tu repars avec une zone de dessin vierge.

    *Il est possible de faire des réaffichages partiel pour optimiser le rendu.

    Tu as 2 solutions de remplacement :
    • Tu dessines dans un buffer (image) et tu dessines cette image à l'écran. Le contenu du buffer est lui persistant entre les réaffichages.
    • Dans ta classes tu conserves une liste de toutes les formes à dessiner (ou commandes à appeler).
      • Pour les formes (toutes les classes qui héritent de Shape) c'est facile ; tu as déjà plusieurs classes de rectangles (toutes les classes héritant de Rectangle2D) et tu peux dessiner des formes avec un Graphics2D.
      • Pour les commandes il faut par exemple faire appel au mécanisme de reflexion ou passer par du scripting.
    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

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

Discussions similaires

  1. [Debutante] methode paint
    Par dsryam dans le forum JBuilder
    Réponses: 2
    Dernier message: 08/09/2007, 23h29
  2. Paint en java
    Par mathieumadrid dans le forum 2D
    Réponses: 27
    Dernier message: 19/06/2007, 23h13
  3. [graphics] Paint en java
    Par soad dans le forum 2D
    Réponses: 2
    Dernier message: 14/04/2006, 14h47
  4. methode paint jamais appeller.
    Par Blo0d4x3 dans le forum 2D
    Réponses: 9
    Dernier message: 22/01/2006, 22h44

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