Insérer une image dans un JLabel avec setIcon

Signaler
Messages postés
80
Date d'inscription
dimanche 12 octobre 2003
Statut
Membre
Dernière intervention
25 avril 2011
-
Messages postés
80
Date d'inscription
dimanche 12 octobre 2003
Statut
Membre
Dernière intervention
25 avril 2011
-
Bonsoir à vous :)

Mon problème est dans le titre...
Pour quelque chose de plus explicite, voici la partie à laquelle ce problème se rattache:

public void loadImage(String path, JLabel target)
    {
        ImageIcon picImage = new ImageIcon(path);
       
        if (picImage != null)
        {
            target.setIcon(new ImageIcon(picImage.getImage().getScaledInstance(maxWidth, maxHeight, Image.SCALE_DEFAULT)));
        }
    }

Lorsque je charge une image avec une String, l'image ne s'affiche pas dans le label. Par contre, si je mets "icone.png" (par exemple) - qui se trouve dans le projet (ressource) -, l'icone s'affiche...
Je ne vois pas ce qui pose problème avec le chemin absolu...

Quelqu'un pourrait-il m'éclaircir s'il-vous-plaît?

Merci par avance,

Sharkill3r[mailto:$%7C-%7C@%7C2%7C%3C%21LL%EF%BF%BD%7C2 ]

4 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
96
Salut,

Montre nous le path que tu lui envoie.
______________________________________
DarK Sidious
Messages postés
80
Date d'inscription
dimanche 12 octobre 2003
Statut
Membre
Dernière intervention
25 avril 2011

C'est une chaîne quelconque que je récupère dans un JTextField, du style: "X:\image.bmp".
maxWidth et maxHeight sont définies en local, tout comme les JLabel.

Pour le path, faudrait-il que je remplace les "" par des "\"? Pourtant cela marchait avant...

Merci DarkSidious

Sharkill3r
Messages postés
80
Date d'inscription
dimanche 12 octobre 2003
Statut
Membre
Dernière intervention
25 avril 2011

Est-ce que le fait que j'ai mis la classe dans un paquetage serait la source du problème?
Étant donné que ça marche avec les images contenues dans le paquetage...

C'est bizarre quand même...

Sharkill3r
Messages postés
80
Date d'inscription
dimanche 12 octobre 2003
Statut
Membre
Dernière intervention
25 avril 2011

Même en faisant le strict minimum, quelque chose de tout simple, ça ne marche pas

import java.awt.Dimension;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class test
{
    public static void main(String args[])
    {
        JFrame frmM = new JFrame();
        JPanel pnlM = new JPanel();
        JLabel lblM = new JLabel();
        ImageIcon imgM = new ImageIcon("X:\\Error.bmp");
       
        frmM.setVisible(true);
        frmM.setSize(new Dimension(300,300));
       
        frmM.setContentPane(pnlM);
        pnlM.add(lblM);
        lblM.setIcon(imgM);
    }
}

Normalement, il ne suffit de mettre que ça...

Merci pour votre aide

Sharkill3r