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 :

probleme pour dessiner dans un JPanel


Sujet :

AWT/Swing Java

  1. #1
    Membre actif Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Points : 209
    Points
    209
    Par défaut probleme pour dessiner dans un JPanel
    Bonjour,

    Je fait un programme qui simule le parcour d'un graphe. (avec des thread etc...) Je voudrai que un schéma ce dessine au fur et a mesure de l'execution du programme (a chaque fois que l'on passe d'un état du graphe à un autre on dessine un trait dans le schéma).
    Mais est ce que il faut forcement, pour utiliser la class Graphics, utiliser la méthode paint(Graphics g)?
    Comment je dois faire?

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par L4BiN
    Mais est ce que il faut forcement, pour utiliser la class Graphics, utiliser la méthode paint(Graphics g)?
    Oui ! Ou plutôt paintComponent(Graphics) pour les composant Swing
    Sinon ton JPanel "s'effacera" lorsque la fenêtre sera réaffichée...


    Dans ton cas le plus simple serait d'utiliser une BufferedImage, dans laquelle tu déssinerais ton graphe, puis ta méthode paintComponent() se contenterais d'afficher l'image... Comme cela tu es sûr que ton JPanel sera toujours à jour...

    Il faudra bien sûr effectué tout cela dans l'EDT...

    a++

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    plutôt la méthode paintComponent(Graphics g) que la méthode paint(Graphics g)

  4. #4
    Membre actif Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Points : 209
    Points
    209
    Par défaut
    ok


    j'utilisai cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public void paint(Graphics g)
    	{
     
    		for(int i = 0 ; i < largeur ; i=i+largeur/processus.size())
    		{
    			g.drawLine(i,0,i,hauteur);
    		}
     
    	}
    Ca dessinai dans mon JPanel.

    par contre quand je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public void paintComponant(Graphics g)
    	{
    		super.paintComponent(g);
    		for(int i = 0 ; i < largeur ; i=i+largeur/processus.size())
    		{
    			g.drawLine(i,0,i,hauteur);
    		}
     
    	}
    ca ne affiche rien dans le JPanel why??

  5. #5
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par L4BiN
    ca ne affiche rien dans le JPanel why??
    Question bête : tu as bien supprimé la méthode paint() ????

    a++

  6. #6
    Membre actif Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Points : 209
    Points
    209
    Par défaut
    oui j'ai bien pensé loool...

  7. #7
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void paintComponant(Graphics g)
    Si tu utilises Java 5.0 tu peux éviter ce genre d'erreur avec l'annotation @Overrides...

    a++

  8. #8
    Membre actif Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Points : 209
    Points
    209
    Par défaut
    merci je venais aussi de voir l'erreur ...

    Bon maintenant je peux aller voir comment fonctionne le bufferedImage (surement je risque de repasser pour demander qlque chose la dessus)

    merci

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 131
    Points : 114
    Points
    114
    Par défaut
    sinson ce que tu peux faire c est utiliser dotty (qui est un outils de visualisation de graph). Dotty creer un .ps je crois ou l on visualise le graphe. ensuite tu affiche e contenue de ce fichier dans ton panel.

    Il y a plusieurs chose a voir :
    - Est ce plus optimal ? (en tout ca tu n a pas a gerer le creation des arcs et des noeud ainsi que leur emplacement.
    - peut on lancer la commande dotty depuis java pour generer le fichier ps ?
    - travaille tu sur windows ou Linux ?

  10. #10
    Membre actif Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Points : 209
    Points
    209
    Par défaut
    dans un projet l'année derniere j'ai deja use dotty mais ce n'est pas tres stable et c'est plein de bug

    mais l'idée est simpa qd meme merci

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

Discussions similaires

  1. Listener pour dessins dans un JPanel
    Par Nergaahl dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 05/06/2007, 12h05
  2. [Debutant]Dessiner dans plusieurs JPanels. Probleme
    Par ahage4x4 dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 22/05/2006, 12h32
  3. Dessiner dans différents JPanels
    Par N@sH dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 20/05/2005, 15h39
  4. Dessiner dans un JPanel
    Par Oliveuh dans le forum Composants
    Réponses: 5
    Dernier message: 19/07/2004, 12h13
  5. [debutant] Probleme pour dessiner un simple cube
    Par scorpiwolf dans le forum DirectX
    Réponses: 6
    Dernier message: 02/07/2003, 20h29

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