changement de graphics - Java - Programmation
Marsh Posté le 14-06-2007 à 00:24:06
ben la methode paint(Graphics2D d) n'est jamais appelee, c'est la methode paint(Graphics g) qui est appelee ...
Marsh Posté le 14-06-2007 à 01:46:03
une personne a une solution plus reflechie?
liser tout mon code avant de repondre svp
Marsh Posté le 14-06-2007 à 10:18:10
t'es gentil, mais c'est une reponse tres serieuse, qu'est-ce que tu comprends pas ?
Marsh Posté le 14-06-2007 à 10:38:18
ben la methode paint Graphics2d est appellée
public void paint(Graphics2D g) {
Marsh Posté le 14-06-2007 à 11:56:10
non elle est pas appelee, c'est pas la bonne signature ...
c'est comme si tu creais une methode public void paint(Integer n) ... Swing n'appelle pas cette methode
Marsh Posté le 14-06-2007 à 12:14:13
a je comprend..et comment l'appelle -ton??
dans tout les exemple que j'ai toruver il mette comme moi :s
Marsh Posté le 14-06-2007 à 12:23:58
Allez la réponse :
Code :
|
Et après tu changes rien !
PS : si tu fais du swing tu devrais peut-être plutot redéfinir paintComponent et non paint.
Marsh Posté le 14-06-2007 à 12:50:36
code:
Toolkit tk = Toolkit.getDefaultToolkit();
im = tk.getImage("carte_coeur.JPG" );
...
public void paint(Graphics gr) {
Graphics2D g = (Graphics2D) gr;
super.paint(g);
if(paint1==1){
Color c = g.getColor();
g.drawImage(im,100,300,250,400,100,200,300,400,this);
g.setColor(Color.RED);
g.fillRect(10,10,80,80);
g.setColor(Color.BLUE);
g.fillOval(150,50,80,80);
g.setColor(c);
}
code
resultat le cercle et le rectangle clignote pendent 10 seconde et l'image n'est pas afficher....
Marsh Posté le 14-06-2007 à 12:58:47
nightwar a écrit : quelle est la difference? |
paint appelle d'autres méthodes, paintComponent entre autre
Marsh Posté le 13-06-2007 à 20:17:41
bonjour
j'ai fait un petit code que voici:
Code :
public void paint(Graphics g) {
super.paint(g);
if(paint1==1){
Color c = g.getColor();
g.drawImage(im,250,300,this);
g.setColor(Color.RED);
g.fillRect(10,10,80,80);
g.setColor(Color.BLUE);
g.fillOval(150,50,80,80);
g.setColor(c);
}
qui est ma methode donc paint
je charge une image et je l'affiche "im";
jai decouvert que Graphics2D posseder la fonctionnaliter de redimentionner l'image elle meme alors jai remplacer mon code par ceci:
Code :
public void paint(Graphics2D g) {
super.paint(g);
if(paint1==1){
Color c = g.getColor();
g.drawImage(im,250,300,10,10,this);
g.setColor(Color.RED);
g.fillRect(10,10,80,80);
g.setColor(Color.BLUE);
g.fillOval(150,50,80,80);
g.setColor(c);
}
sauf que maintenant sa ne m'affiche plus rien....
j'ai oublier de faire quelquechose??