Mettre à jour une image dans un JLabel [Résolu]

Messages postés
129
Date d'inscription
mercredi 16 février 2005
Dernière intervention
15 février 2010
- 8 juin 2009 à 13:46 - Dernière réponse :
Messages postés
129
Date d'inscription
mercredi 16 février 2005
Dernière intervention
15 février 2010
- 13 janv. 2010 à 11:20
Bonjour,

Je souhaiterais mettre à jour une image contenu dans un JLabel.
Voici mon code :

  ImageIcon status = new ImageIcon("chemin/vers/images/open_"+ fileReader.getStatus_file() +".png");
  imgStatus = new JLabel(status);
  buttonPanel.add(imgStatus);

Je sèche là... aidez-moi. Merci.

Pyrrah
H4ck3r vaillant, rien d'impossible.
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
58
Date d'inscription
mercredi 17 décembre 2003
Dernière intervention
16 février 2011
- 11 juin 2009 à 11:09
3
Merci
Sorry pour la réponse aussi tardive.(J'étais chez le client)...

//Class héritière
public class LblImage  extends javax.swing.JLabel
{
  private int msOrgX=0,msOrgY=0,msDstX=0,msDstY=0,OrgPosXImg,OrgPosYImg;
//ta toutouille sur l'image

  private Image Img;

    public void setImage(Image image)
    {
        Img=image;
    }

    //rafraichissement de l'image du LBL
    public void paint(Graphics g)
    {
//traitement à l'affichage a faire ici
        g.drawImage(Img, 0,0,this);
    }

}

Appel :
J'ai une JFrame contenant 2 JScrollPane(SCP_TRUC) à l'interieur desquels j'ai mis les LblImage (txtImg)...

Si je passais directement par les JLabel j'avais un problème pour le rafraichissement lors du 2°appel de conversion (Convert - qui détecte la peau - je mettrai cette source en ligne un de ces 4)...

//init
    JFileChooser JFC_File = new JFileChooser();
    LblImage txtImg1;
    LblImage txtImg2;
    BufferedImage biO = null;
    BufferedImage biM = null;
        SCP_Main.setViewportView(txtImg1);
        SCP_Mod.setViewportView(txtImg2);

...
//ouverture de l'image à traiter
             File imgfile = JFC_File.getSelectedFile();
                biO = ImageIO.read(imgfile);

                //Afficher l'image
                txtImg1.setImage(new ImageIcon(biO).getImage());
                txtImg1.setIcon(new ImageIcon(biO));

...
//appel de l'action de conversion de l'image
        biM = new BufferedImage(biO.getWidth(), biO.getHeight(), biO.getType());

        convert();
       
        txtImg2.setImage(new ImageIcon(biM).getImage());
        txtImg2.setIcon(new ImageIcon(biM));

        SCP_Mod.setViewportView(txtImg2);

En espérant que ça aide...

DJe

Merci dje_jay 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de dje_jay
Messages postés
58
Date d'inscription
mercredi 17 décembre 2003
Dernière intervention
16 février 2011
- 8 juin 2009 à 15:02
0
Merci
Passes par une class qui hérite de JLabel.
Ca te permettra de mettre des trucs dans la methode repaint();
Quand tu travailles comme ça, ça marche...
Il y a peut-être plus efficace, mais je ne connais pas...
Commenter la réponse de dje_jay
Messages postés
129
Date d'inscription
mercredi 16 février 2005
Dernière intervention
15 février 2010
- 8 juin 2009 à 16:58
0
Merci
Pourrais-tu me donner un exemple ?

Pyrrah
H4ck3r vaillant, rien d'impossible.
Commenter la réponse de Pyrrah
Messages postés
17
Date d'inscription
vendredi 4 janvier 2008
Dernière intervention
28 juin 2010
- 10 juin 2009 à 10:15
0
Merci
Bonjour,

pourquoi ne pas utiliser la méthode setIcon de JLabel

JLable imgStatus = new JLabel();
imgStatus.setIcon(status);
Commenter la réponse de manlap
Messages postés
129
Date d'inscription
mercredi 16 février 2005
Dernière intervention
15 février 2010
- 13 janv. 2010 à 11:20
0
Merci
Bonjour,

Désolé pour la lenteur de ma réponse.
Cela m'a bien servi ;)

Amicalement,
Pyrrah.

____________________
Pyrrah
H4ck3r vaillant, rien d'impossible.
Si le problème est résolu, n'oubliez pas de cliquer sur "Problème résolu !". Merci !
Commenter la réponse de Pyrrah

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.