Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1160 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [swing] Problème avec paintComponent sur un JPanel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[swing] Problème avec paintComponent sur un JPanel

n°1274349
Hakutora
the white tiger
Posté le 29-12-2005 à 11:17:06  profilanswer
 

Salut a tous !
 
Je participe a un projet de jeu de plateau reprenant le principe du labyrinthe master(tm)  ;)  avec entre autres, l'insertion des cases du plateau de jeu.
 
A la base, les cases devaient etre des JLabel, c plus simple pour gèrer les images, mais, il faut que le redimensionnement de la fenetre soit possible, alors les cases sont devenues des JPanel, dans lesquels j'ai redéfini paintComponent.
 
Chaque case est censée dessiner son attribut 'image', C'est une image créée avec le toolkit, puis j'appelle g.drawImage, tout ceci fonctionne à l'initialisation.
 
Mais, (en cliquant sur un bouton) j'insère une case ( enfin, je change les attributs de la case et de sa rangée de cases ), et toute la rangée devient grise, j'attends 4 à 5 secondes et tout se repeint.
A la deuxième insertion, ça ne se repeint pas  :( .
 
J'ai vu le truc comme quoi repaint() fait son boulot 'dès que possible' dans l'API, mais j'aimerais que le repeinturage se fasse directement. (paintImmediately ne fonctionne pas non plus)
 
En gros, dans le listener, j'ai une boucle qui fait :
    for(int i....){
           case[i].refresh(); // met a jour les attributs de la case
           case[i].repaint(); // repeint la case
    }
 
Voila, merci beaucoup d'avance !
(si vous voulez les classes et les images, ça risque d'etre coton, mais bon, je peux tenter de vous les mettre aussi sur le forum).

mood
Publicité
Posté le 29-12-2005 à 11:17:06  profilanswer
 

n°1274372
Hakutora
the white tiger
Posté le 29-12-2005 à 12:06:35  profilanswer
 

Peut être faut-il utiliser un Thread.sleep pour temporiser paint(), ou y a t-il un secret avec le buffering... doubleBuffered ?
 
C'est vraiment la misère Graphics....
 
Merci quand même...

n°1274979
Hakutora
the white tiger
Posté le 30-12-2005 à 15:00:08  profilanswer
 

Okay, ben en fait, la boucle qui affichait les éléments de chaque case causait des problèmes, :( ne mettez jamais une boucle dans paintComponent a mons que cela ne soit vraiment nécéssaire...
 
Merci a ceux qui ont donné un peu de leur temps ne serait-ce qu'un peu ;) désolé....


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [swing] Problème avec paintComponent sur un JPanel

 

Sujets relatifs
probleme aidez moi !!!!!!!!!!!!!!![Résolu] Probleme de mise en page
Problème avec les <Vector> entre Visual Studio 6 et 8.[applet] probleme de mise à jour, modification non prise en compte
probleme flash mx videoprobleme video flash mx
Probleme avec un "imagecreatefromjpeg"probleme site perso avec firefox
Problème de structuresProblème d'affichage entre IE et Firefox
Plus de sujets relatifs à : [swing] Problème avec paintComponent sur un JPanel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR