voici code que j'utilise il permet d'ouvrir des fichiers gif et jpeg, il ne faut pas soublier d'impementer les methodes paint et getpreferedsize
bon courage
import java.awt.*;
import java.awt.event.*;
import java.awt.Color;
import java.awt.Image;
import java.awt.Graphics;
/**
* Definition de la classe ImageCanvas. Cette classe permet l'affichage
* d'une image dont le contenu se treouve dans un fichier
*/
public class ImageCanvas
extends Canvas
{
private Image img;
/**
* Constructeur vide d'un ImageCanvas
*/
public ImageCanvas ()
{
img = null;
}
/**
* Constructeur d'un ImageCanvas
*
* @param fichierImage Nom du fichier définissant l'image à afficher
*/
public ImageCanvas (
String fichierImage)
{
img = getToolkit().getImage(fichierImage);
}
/**
* Affichage de l'ImageCanvas
*
* @param g contexte graphique
*/
public void paint (
Graphics g)
{
if (img == null)
{
super.paint(g);
g.setColor(Color.black);
}
else
{
g.drawImage(img, 0, 0, this);
}
}
/**
* Récupération de la taille minimum de l'ImageCanvas
*/
public Dimension getMinimumSize()
{
return new Dimension(img.getWidth(this), img.getHeight(this));
}
/**
* Récupération de la taille préférencielle de l'ImageCanvas
*/
public Dimension getPreferredSize()
{
return new Dimension(img.getWidth(this), img.getHeight(this));
}
/**
* Récupération de l'image
*/
public Image getImage()
{
return img;
}
/**
* Affectation de l'image
*
* @param img Image à afficher
*/
public void setImage(Image img)
{
this.img = img;
repaint();
}
}