Pyrrah
Messages postés127Date d'inscriptionmercredi 16 février 2005StatutMembreDernière intervention15 février 2010
-
8 juin 2009 à 13:46
Pyrrah
Messages postés127Date d'inscriptionmercredi 16 février 2005StatutMembreDernière intervention15 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);
dje_jay
Messages postés58Date d'inscriptionmercredi 17 décembre 2003StatutMembreDernière intervention16 février 20112 11 juin 2009 à 11:09
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);
dje_jay
Messages postés58Date d'inscriptionmercredi 17 décembre 2003StatutMembreDernière intervention16 février 20112 8 juin 2009 à 15:02
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...