A voir également:
- [Applet Java] Inserer une image dans un panel
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Insérer une vidéo dans powerpoint - Guide
- Insérer une image dans word sans bouger le texte - Guide
- Insérer un espace insécable dans word - Guide
5 réponses
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.
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.
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 ...
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 ...
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.
Serait-il possible de jeter un coup d'oeil au code en question.
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 !
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 !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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);
}