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.
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
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.