bonjour,
SVP est ce que quelqu'un peux me donner l'explication et le fonctionnement du la methode paint.
Version imprimable
bonjour,
SVP est ce que quelqu'un peux me donner l'explication et le fonctionnement du la methode paint.
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:
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); } }
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
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).
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;)
je sais pas !
comment faire pour preserver l'ancien dessin
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.