[Applet Java] Inserer une image dans un panel

Julio -  
 milo -
Bonjour,
Est ce quelqu'un sait comment pour une Applet insérer une image dans un panel en AWT ?
A voir également:

5 réponses

molines Messages postés 6 Statut Membre 7
 
bonjour,

pour afficher une image dans un Panel, tu peux surcharger la méthode paintComponent de la manière suivante:

void paintComponent(Graphics g){
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.drawImage(mon_image, 0, 0, this.getWidth(), this.getHeight(), this);
}

où mon_image est un object de type Image initialisé dans le constructeur.
le code est peut-être approximatif, car écrit de mémoire mais la méthode fonctionne.
0
Julio
 
Bonjour et merci pour votre réponse.

Je viens d'essayer votre proposition mais l'image ne s'affiche pas.
J'utilise ici des panel en AWT et non des Jpanel en Swing et je ne crois que pas que la méthode paintComponents soit utilisable dans ce cas.

Merci de m'éclairer si je me trompe
0
molines Messages postés 6 Statut Membre 7
 
bonjour,

autant pour moi, il n'y a pas en effet de méthode paintComponent enAWT. On doit pouvoir utiliser le même principe avec paint(Graphics g).

public void paint(Graphics g){
super.paint(g);
g.drawImage(monImage, 0, 0, this);
}
0
Julio
 
Bonjour,

Merci encore pour votre reponse rapide. Malheureusement, en utilisant cette méthode je parviens à afficher l'image dans le fond de l'applet mais pas dans un panel.

Si vous avez une autre proposition ...
0
molines Messages postés 6 Statut Membre 7
 
Est-ce bien la méthode paint du panel qui est surchargée, ou bien celle de l'objet de type Applet.
Serait-il possible de jeter un coup d'oeil au code en question.
0
Julio
 
Bonjour,

Voici mon code:

//definition de la classe Spanel derivant de panel:

public class Spanel extends java.awt.Panel {
private Image picture;

public Spanel(Image Picture) {
picture=Picture;
}

public void paint(Graphics g) {
super.paint(g);
g.drawImage(picture,0,0,this);
}
}


//déclaration d'un Spanel:
Spanel panel1 = new Spanel(mon_image);

//Puis appel de la méthode paint surchargé:
panel1.paint(g);




J'obtient alors la faute:
Exception during paint(): java.lang.NullPointerException
en rapport avec la ligne:
g.drawImage(picture,0,0,this);



Voila merci encore pour votre aide !
0
molines Messages postés 6 Statut Membre 7
 
bonjour,

ce n'est pas utile d'appeler la méthode paint, elle est appelé automatiquement, de plus, quel objet g est utilisé dans cette méthode?

L'objet null vient g ou de picture, on doit pouvoir vérifier ça avec un truc du genre System.prinltn("Graphics: " + g + " Image: " + picture); dans paint
0
milo
 
Peux tu mettre tout ton code car je n'arrive pas à la faire.

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Julio
 
ça y est, c'est bon cette fois,

l'image mon_image n'était pas initialisée avant que je declare le Spanel.

Merci beaucoup pour votre aide patiente, c'est rare et vraiment sympa !
-3