Affichage image dans un JPanel

hmidaissam Messages postés 5 Date d'inscription mercredi 26 janvier 2005 Statut Membre Dernière intervention 20 février 2006 - 22 avril 2005 à 04:45
hmidaissam Messages postés 5 Date d'inscription mercredi 26 janvier 2005 Statut Membre Dernière intervention 20 février 2006 - 23 avril 2005 à 19:41
salut, j'utilise des images du type bufferedImage que je veut les afficher dans un panel , lors de l'appuit de l'un des boutons une autre image doit etre chargée dans le même panel, bref voila le mourceau de code que j'ai utilisé pour le chargement des images :

public class chargerimage extends JPanel
{



public chargerimage()
{
prepareImage(imag, this);

}


public void paint (Graphics g)
{ g.drawImage(imag, 0, 0, this);


}


}

et la méthode ci-dessous fournit l'image imag :

public void preparerimage()
{
int i;
int tabColor[] = new int[256];
for(i=0;i<256;i++)
{
tabColor[i] = (new Color(i,i,i)).getRGB();
}



BufferedImage imag = new BufferedImage(m.largeur,m.hauteur,BufferedImage.TYPE_3BYTE_BGR);



i=0;
int j=0;
while (j<m.hauteur)
{i=0;
while (i<m.largeur)
{
imag.setRGB(i,j,tabColor[m.tableau[i][j]+128]);
i++;
}
j++;
}

paint(imag.getGraphics());
}

puis suite à l'apuit à un bouton :
chargerimage c =new chargerimage();

pane1.add(c);

le problème c qu'il n y a pas d'affichage de l'image;

si vous pouvez m'aider et même si vous abez d'autres idées , vos remarques sont les bien-venus , merci d'avance

2 réponses

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
22 avril 2005 à 21:41
Salut,



je n'ai pas lu tous le code, je me suis arreté au debut je but sur ton paint(...);



enfaite a partire du moment ou tu utilise des composants swing tu peux desuite oublier la methode paint et utiliser



public void paintComponent(Graphics g){

super.paintComponents(g);//obligatoire

//ton code

}

WORA
0
hmidaissam Messages postés 5 Date d'inscription mercredi 26 janvier 2005 Statut Membre Dernière intervention 20 février 2006
23 avril 2005 à 19:41
oui , ça marché avec paintComponent , merci infinément .
0
Rejoignez-nous