Rechercher : dans
Par :

[Applet Java] Inserer une image dans un panel

Dernière réponse le 15 jun 2009 à 15:51:17 Julio, le 8 mar 2006 à 14:55:18 
 Signaler ce message aux modérateurs

Bonjour,
Est ce quelqu'un sait comment pour une Applet insérer une image dans un panel en AWT ?

Meilleures réponses pour « [Applet Java] Inserer une image dans un panel » dans :
[Outlook Express] Créer papier à lettre / Insérer image de fond VoirLe papier à lettre est une fonctionnalité de Outlook Express permettant d'égayer les courriers électroniques envoyés en insérant des illustrations (images, texte, etc.) en image de fond. Créer son papier à lettre sous Outlook Express Dans la fenêtre...
[FreeMind] Publier une mindmap dans une page web VoirFreeMind est un logiciel de mindmapping. Vous avez plusieurs possibilités pour publier votre mindmap dans une page web. Flash applet Java Simple image PNG HTML+Javascript (texte seulement) HTML+Javascript (texte+icônes) HTML+Javascript...
Insérer une image dans un mail Gmail en cours de composition VoirVoici une excellente méthode pour insérer des images dans vos e-mails Gmail. Résultat garanti ! Vu que vous avez un compte Gmail (puisque vous vous posez cette question) vous avez nécessairement accès à Google Documents. C'est le même compte...
LaTeX - Insertion d'images VoirStyle LaTeX permet d'insérer des images de différents formats. Le plus simple est d'insérer des fichiers de type eps (Encapsuled Postscript) : Il suffit d'insérer dans le préambule la ligne suivante : \usepackage{graphicx} Puis d'insérer...

1

molines, le 10 mar 2006 à 15:12:50

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.

Répondre à molines

2

Julio, le 15 mar 2006 à 23:28:48

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

Répondre à Julio

3

molines, le 16 mar 2006 à 08:48:38

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);
}

Répondre à molines

4

Julio, le 16 mar 2006 à 09:50:15

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

Répondre à Julio

5

molines, le 16 mar 2006 à 10:19:57

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.

Répondre à molines

6

Julio, le 16 mar 2006 à 21:42:04

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 !

Répondre à Julio

8

molines, le 17 mar 2006 à 08:42:57

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

Répondre à molines

9

Julio, le 20 mar 2006 à 10:38:10

ç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 !

Répondre à Julio

10

 milo, le 15 jun 2009 à 15:51:17

Peux tu mettre tout ton code car je n'arrive pas à la faire.

Merci

Répondre à milo