Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2990 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Insérer une image dans un JLabel avec setIcon

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Insérer une image dans un JLabel avec setIcon

n°1830046
Sharkiller
Posté le 21-12-2008 à 14:42:31  profilanswer
 

Bonjour à tous!
 
Comme dit dans le titre, setIcon ne m'affiche plus l'image que je veux charger dans le label...
Voici l'endroit où ça cloche:
 
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...
 
maxWidth et maxHeight sont définies en local, tout comme les JLabel.
 
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...
 
Quelqu'un pourrait-il m'aider s'il-vous-plaît? :(  
La vraie question est "Pourquoi ça marche avec les images du paquetage, et pas avec les autres, même avec le chemin absolu?"... Le chemin est pourtant correct...
 
Merci par avance pour votre aide! :)

mood
Publicité
Posté le 21-12-2008 à 14:42:31  profilanswer
 

n°1830077
Sharkiller
Posté le 21-12-2008 à 16:43:20  profilanswer
 

Je viens de voir que setBackground ne marche pas non plus...
 
lblM.setBackground(Color.black);
 
C'est quoi le problème? :(  
Y'a vraiment un truc qui cloche, mais je vois vraiment pas :(

n°1830494
Sharkiller
Posté le 22-12-2008 à 16:28:48  profilanswer
 

[:yoyoz]
Merci pour votre aide! :(

n°1831763
zapan666
Tout est relatif
Posté le 27-12-2008 à 01:54:34  profilanswer
 

Sharkiller a écrit :


Je ne vois pas ce qui pose problème avec le chemin absolu...


cf javadoc

Citation :

Creates an ImageIcon from the specified file. The image will be preloaded by using MediaTracker to monitor the loading state of the image. The specified String can be a file name or a file path. When specifying a path, use the Internet-standard forward-slash ("/" ) as a separator. (The string is converted to an URL, so the forward-slash works on all systems.) For example, specify:
 
    new ImageIcon("images/myImage.gif" )  
 
The description is initialized to the filename string.


http://java.sun.com/j2se/1.4.2/doc [...] ng.String)


---------------
my flick r - Just Tab it !
n°1831872
b3rlin
- he could be a fruitcake -
Posté le 27-12-2008 à 22:46:21  profilanswer
 

Autre chose : il faut impérativement ajouter tous les composants d'une frame avant de mettre Visible à true, non ?

n°1831876
sielfried
Posté le 27-12-2008 à 23:58:01  profilanswer
 

C'est mieux mais pas obligatoire (m'enfin ce serait nettement mieux dans ce cas précis).

 

Par contre, tout ça devrait être fait dans l'Event Dispatch Thread. :o


Message édité par sielfried le 27-12-2008 à 23:58:54

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Insérer une image dans un JLabel avec setIcon

 

Sujets relatifs
changer l'image d'un bouton en cliquant dessus[HTML] Insérer un espace pour afficher un texte en bas de page
Problème image liée soulignée ou non ?Flux RSS sur une image
JLabel sur plusieurs lignesrecadrage image javascript
[C#] Insérer une ligne dans tabeau ExcelImage dans Jlabel
(réglé)afficher une grande image en vraie taille automatiquement 
Plus de sujets relatifs à : Insérer une image dans un JLabel avec setIcon


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR