affichage dessin - Java - Programmation
Marsh Posté le 14-09-2005 à 22:35:36
Ca par exemple ça peut aider : http://java.sun.com/docs/books/tut [...] cepts.html. Ensuite, quand y'a des évènements de modification de la fenêtre, enfin toute notification de changement alors il faut repaint ... 
 
Marsh Posté le 15-09-2005 à 10:28:55
Si tu veux que ça s'affiche même pendant un deplacement, override paint : 
 
 public void paint( Graphics g ) 
 { 
 	super.paint( g ); 
 	g.drawLine( ..... 
Marsh Posté le 15-09-2005 à 11:07:17
N'oublie pas de surcharger getPreferredSize() pour le panel dans lequel tu dessines. 
Marsh Posté le 15-09-2005 à 15:10:46
 Merci pour vos réponses.
 Merci pour vos réponses. 
 
Voici ce que j'ai fait: 
 
| Citation :  public  void paint(Graphics g) {  | 
 
 
et pour ne rien effacer un écouteur d'évènement sur le jpanel: 
 
| Citation :  void jPanel1_componentMoved(ComponentEvent e) {  | 
 
 
 
Marsh Posté le 15-09-2005 à 15:40:45
Une remarque : ok tu la taille de ton panel ne bouge pas. Si c'est pas le cas, utilise plutot des coordonnées relatives genre :  
| Code : 
 | 
 
et puis tu surcharges la méthode getPreferredSize() de cette manière ( en supposant que ton panel sera toujours de 1000x1000 pixels ) : 
| Code : 
 | 
 
Cette façon de faire est mieux, car portable d'une machine à une autre ( résolution écran, OS etc... ). 
Marsh Posté le 15-09-2005 à 15:52:26
et on ne surcharge pas paint mais paintComponent en swing ![[:dawao] [:dawao]](https://forum-images.hardware.fr/images/perso/dawao.gif)
Marsh Posté le 14-09-2005 à 22:15:46
Bonjour,
J'ai un frame ds laquelle j'ai un bouton et un jscrollpane avec a l'interieur un jpanel.En apuyant sur le bouton je voudrais afficher une ligne ds le jpanel.
void dessine (Graphics g)
{
Graphics gc = getGraphics ();
gc.drawLine(100, 100, 1000, 1000);
}
mais quand je redimensionne la fenetre ou je bouge le jscrollpane la ligne s'efface.J'ai regardé des anciens topics mais j'ai pas bien compris.