changement de graphics

changement de graphics - Java - Programmation

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

Reply

Marsh Posté le 13-06-2007 à 20:17:41   

Reply

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 ... [:pingouino]

Reply

Marsh Posté le 14-06-2007 à 01:46:03    

une personne a une solution plus reflechie?
liser tout mon code avant de repondre svp

Reply

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 ?

Reply

Marsh Posté le 14-06-2007 à 10:38:18    

ben la methode paint Graphics2d est appellée
 
public void paint(Graphics2D g) {  

Reply

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


Message édité par souk le 14-06-2007 à 11:57:06
Reply

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

Reply

Marsh Posté le 14-06-2007 à 12:23:58    

Allez la réponse :
 

Code :
  1. @Override
  2. public void paint(Graphics graphics){
  3. Graphics2D g = (Graphics2D) graphics;


 
Et après tu changes rien !
 
PS : si tu fais du swing tu devrais peut-être plutot redéfinir paintComponent et non paint.


Message édité par fabs0028 le 14-06-2007 à 12:24:36
Reply

Marsh Posté le 14-06-2007 à 12:45:36    

quelle est la difference?

Reply

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

Reply

Marsh Posté le 14-06-2007 à 12:50:36   

Reply

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


---------------
my flick r - Just Tab it !
Reply

Marsh Posté le 14-06-2007 à 14:07:10    

savez vous pourquoi mon code marche pas?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed