J'ai un petit souci avec l'objet Graphics. Je dessine dans un Canvas
divers objet tel que des formes et des lignes avec la souris. Donc ma
methode paint(Graphics g) ne fait rien puisque tout est dessiner avec
la souris.
Puis j'ouvre une fenetre de dialogue (JOptionPane) ou une fenetre
classique et je la promene sur mon canvas. Et la je constate que la
fenetre agit comme une gomme et efface une grande partie de ce que
j'ai dessine a la souris.
Alors comment faire pour que le dessin que j'ai dessine a la souris
reste intact? Je ne veux pas a chaque fois redessiner tout le canvas,
il y a possibilite de "verrouiller" un objet Graphics??
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
arN
wrote:
Salut a tous!
J'ai un petit souci avec l'objet Graphics. Je dessine dans un Canvas divers objet tel que des formes et des lignes avec la souris. Donc ma methode paint(Graphics g) ne fait rien puisque tout est dessiner avec la souris.
Puis j'ouvre une fenetre de dialogue (JOptionPane) ou une fenetre classique et je la promene sur mon canvas. Et la je constate que la fenetre agit comme une gomme et efface une grande partie de ce que j'ai dessine a la souris.
Alors comment faire pour que le dessin que j'ai dessine a la souris reste intact? Je ne veux pas a chaque fois redessiner tout le canvas, il y a possibilite de "verrouiller" un objet Graphics??
Merci d'avance pour votre aide.
simple idée, non testée : la fenêtre en se déplaçant sur ton Canvas doit appeler la méthode repaint() du Canvas, donc si tu redéfinis la méthode repaint pour ne rien faire ... (à voir ensuite si tu n'as pas d'autres problèmes d'affichage qui en découlent)
Sinon, tu peux aussi faire une capture de l'écran au niveau de ton canvas et insérer un "redessinage" de cette capture en fin de méthode repaint.
A essayer
-- Arnaud
trickyfox@voila.fr wrote:
Salut a tous!
J'ai un petit souci avec l'objet Graphics. Je dessine dans un Canvas
divers objet tel que des formes et des lignes avec la souris. Donc ma
methode paint(Graphics g) ne fait rien puisque tout est dessiner avec
la souris.
Puis j'ouvre une fenetre de dialogue (JOptionPane) ou une fenetre
classique et je la promene sur mon canvas. Et la je constate que la
fenetre agit comme une gomme et efface une grande partie de ce que
j'ai dessine a la souris.
Alors comment faire pour que le dessin que j'ai dessine a la souris
reste intact? Je ne veux pas a chaque fois redessiner tout le canvas,
il y a possibilite de "verrouiller" un objet Graphics??
Merci d'avance pour votre aide.
simple idée, non testée : la fenêtre en se déplaçant sur ton Canvas doit
appeler la méthode repaint() du Canvas, donc si tu redéfinis la méthode
repaint pour ne rien faire ... (à voir ensuite si tu n'as pas d'autres
problèmes d'affichage qui en découlent)
Sinon, tu peux aussi faire une capture de l'écran au niveau de ton canvas et
insérer un "redessinage" de cette capture en fin de méthode repaint.
J'ai un petit souci avec l'objet Graphics. Je dessine dans un Canvas divers objet tel que des formes et des lignes avec la souris. Donc ma methode paint(Graphics g) ne fait rien puisque tout est dessiner avec la souris.
Puis j'ouvre une fenetre de dialogue (JOptionPane) ou une fenetre classique et je la promene sur mon canvas. Et la je constate que la fenetre agit comme une gomme et efface une grande partie de ce que j'ai dessine a la souris.
Alors comment faire pour que le dessin que j'ai dessine a la souris reste intact? Je ne veux pas a chaque fois redessiner tout le canvas, il y a possibilite de "verrouiller" un objet Graphics??
Merci d'avance pour votre aide.
simple idée, non testée : la fenêtre en se déplaçant sur ton Canvas doit appeler la méthode repaint() du Canvas, donc si tu redéfinis la méthode repaint pour ne rien faire ... (à voir ensuite si tu n'as pas d'autres problèmes d'affichage qui en découlent)
Sinon, tu peux aussi faire une capture de l'écran au niveau de ton canvas et insérer un "redessinage" de cette capture en fin de méthode repaint.
A essayer
-- Arnaud
Jean-Philippe Martin
a écrit dans le message de news:
Salut a tous!
J'ai un petit souci avec l'objet Graphics. Je dessine dans un Canvas divers objet tel que des formes et des lignes avec la souris. Donc ma methode paint(Graphics g) ne fait rien puisque tout est dessiner avec la souris.
Puis j'ouvre une fenetre de dialogue (JOptionPane) ou une fenetre classique et je la promene sur mon canvas. Et la je constate que la fenetre agit comme une gomme et efface une grande partie de ce que j'ai dessine a la souris.
Alors comment faire pour que le dessin que j'ai dessine a la souris reste intact? Je ne veux pas a chaque fois redessiner tout le canvas, il y a possibilite de "verrouiller" un objet Graphics??
Merci d'avance pour votre aide.
Moi je dessinerais sur un Graphics apart et je redirigerai ma méthode paint() pour qu'elle dessine le contenu de mon Graphic.
A essayer aussi ;o)
Aucun de nous deux ne répond a ta question du "verrouillage" désolé.
<trickyfox@voila.fr> a écrit dans le message de
news:2472e3ec.0407280205.6119622e@posting.google.com...
Salut a tous!
J'ai un petit souci avec l'objet Graphics. Je dessine dans un Canvas
divers objet tel que des formes et des lignes avec la souris. Donc ma
methode paint(Graphics g) ne fait rien puisque tout est dessiner avec
la souris.
Puis j'ouvre une fenetre de dialogue (JOptionPane) ou une fenetre
classique et je la promene sur mon canvas. Et la je constate que la
fenetre agit comme une gomme et efface une grande partie de ce que
j'ai dessine a la souris.
Alors comment faire pour que le dessin que j'ai dessine a la souris
reste intact? Je ne veux pas a chaque fois redessiner tout le canvas,
il y a possibilite de "verrouiller" un objet Graphics??
Merci d'avance pour votre aide.
Moi je dessinerais sur un Graphics apart et je redirigerai ma méthode
paint() pour qu'elle dessine le contenu de mon Graphic.
A essayer aussi ;o)
Aucun de nous deux ne répond a ta question du "verrouillage" désolé.
J'ai un petit souci avec l'objet Graphics. Je dessine dans un Canvas divers objet tel que des formes et des lignes avec la souris. Donc ma methode paint(Graphics g) ne fait rien puisque tout est dessiner avec la souris.
Puis j'ouvre une fenetre de dialogue (JOptionPane) ou une fenetre classique et je la promene sur mon canvas. Et la je constate que la fenetre agit comme une gomme et efface une grande partie de ce que j'ai dessine a la souris.
Alors comment faire pour que le dessin que j'ai dessine a la souris reste intact? Je ne veux pas a chaque fois redessiner tout le canvas, il y a possibilite de "verrouiller" un objet Graphics??
Merci d'avance pour votre aide.
Moi je dessinerais sur un Graphics apart et je redirigerai ma méthode paint() pour qu'elle dessine le contenu de mon Graphic.
A essayer aussi ;o)
Aucun de nous deux ne répond a ta question du "verrouillage" désolé.
Black Myst
wrote:
Salut a tous!
J'ai un petit souci avec l'objet Graphics. Je dessine dans un Canvas divers objet tel que des formes et des lignes avec la souris. Donc ma methode paint(Graphics g) ne fait rien puisque tout est dessiner avec la souris.
Puis j'ouvre une fenetre de dialogue (JOptionPane) ou une fenetre classique et je la promene sur mon canvas. Et la je constate que la fenetre agit comme une gomme et efface une grande partie de ce que j'ai dessine a la souris.
Alors comment faire pour que le dessin que j'ai dessine a la souris reste intact? Je ne veux pas a chaque fois redessiner tout le canvas, il y a possibilite de "verrouiller" un objet Graphics??
Merci d'avance pour votre aide.
Non, on peut pas verouiller un object Graphics.
La méthode paint doit IMPERATIVEMENT dessiner l'integralité du composant, lorsque la fenetre, meme d'une autre application passe au dessus de ton composant, elle ecrit exactement au même endrois que toi avec un acces au graphics
La bonne solution c'est de dessiner dans une image, et d'afficer l'image dans la méthode paint.
Et tu dessine dans ton image avec un repaint() apres chaque modification de l'image!
amuse toi bien Black Myst
trickyfox@voila.fr wrote:
Salut a tous!
J'ai un petit souci avec l'objet Graphics. Je dessine dans un Canvas
divers objet tel que des formes et des lignes avec la souris. Donc ma
methode paint(Graphics g) ne fait rien puisque tout est dessiner avec
la souris.
Puis j'ouvre une fenetre de dialogue (JOptionPane) ou une fenetre
classique et je la promene sur mon canvas. Et la je constate que la
fenetre agit comme une gomme et efface une grande partie de ce que
j'ai dessine a la souris.
Alors comment faire pour que le dessin que j'ai dessine a la souris
reste intact? Je ne veux pas a chaque fois redessiner tout le canvas,
il y a possibilite de "verrouiller" un objet Graphics??
Merci d'avance pour votre aide.
Non, on peut pas verouiller un object Graphics.
La méthode paint doit IMPERATIVEMENT dessiner l'integralité du
composant, lorsque la fenetre, meme d'une autre application passe
au dessus de ton composant, elle ecrit exactement au même endrois
que toi avec un acces au graphics
La bonne solution c'est de dessiner dans une image, et d'afficer l'image
dans la méthode paint.
J'ai un petit souci avec l'objet Graphics. Je dessine dans un Canvas divers objet tel que des formes et des lignes avec la souris. Donc ma methode paint(Graphics g) ne fait rien puisque tout est dessiner avec la souris.
Puis j'ouvre une fenetre de dialogue (JOptionPane) ou une fenetre classique et je la promene sur mon canvas. Et la je constate que la fenetre agit comme une gomme et efface une grande partie de ce que j'ai dessine a la souris.
Alors comment faire pour que le dessin que j'ai dessine a la souris reste intact? Je ne veux pas a chaque fois redessiner tout le canvas, il y a possibilite de "verrouiller" un objet Graphics??
Merci d'avance pour votre aide.
Non, on peut pas verouiller un object Graphics.
La méthode paint doit IMPERATIVEMENT dessiner l'integralité du composant, lorsque la fenetre, meme d'une autre application passe au dessus de ton composant, elle ecrit exactement au même endrois que toi avec un acces au graphics
La bonne solution c'est de dessiner dans une image, et d'afficer l'image dans la méthode paint.