IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

[JLabel] Chargement d'image dans une JFrame


Sujet :

Composants Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Avril 2004
    Messages : 92
    Points : 60
    Points
    60
    Par défaut [JLabel] Chargement d'image dans une JFrame
    Bonjour, je tente désespérement de charger une image dans une JFrame et rien à faire l'image n'apparait pas...

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    public class PacWin extends JFrame{
     
    	private MenuFrame menu;
    	private Quitter exit=new Quitter(this);
     
    	public PacWin(){
    		super("PacMan");
    		menu=new MenuFrame(this);
    		setIconImage(Toolkit.getDefaultToolkit().getImage("images/personnages/fantomes/fantomRouge.png"));
    		setResizable(false);
    		setSize(800,600);
    		setLocationRelativeTo(null);
    		setVisible(true);
    		getContentPane().setLayout(new BorderLayout());
     
    		JPanel panelPacman = new JPanel();
    		panelPacman.setBackground(Color.black);
    		URL urlPacman = getClass().getResource("images/pacman.gif"); 
    		JLabel labelPacman = new JLabel(new ImageIcon(urlPacman)); 
    		panelPacman.add(labelPacman);
    		getContentPane().add(panelPacman,BorderLayout.WEST);
    	}	
    }
    Est-ce que quelqu'un aurait une idée???

  2. #2
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    503
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 503
    Points : 445
    Points
    445
    Par défaut
    ce serait pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setIconImage(Toolkit.getDefaultToolkit().createImage("images/personnages/fantomes/fantomRouge.png"));
    ..des fois ?

    Je n'en suis pas sur...
    L'interêt du doute est que cela fait avancer.
    (parenthèses)Je suis à la recherche d'un emploi sur Valence(26) et ses environs.
    mon cv:
    http://charegis.netcv.org/

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Avril 2004
    Messages : 92
    Points : 60
    Points
    60
    Par défaut
    Non car cette ligne correspond au chargement de l'icône de ma JFrame et ca marche bien! La chargement de l'image se fait dans le 2ème paragraphe du code à partir de la création d'une instance de JPanel.

  4. #4
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    503
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 503
    Points : 445
    Points
    445
    Par défaut
    Citation Envoyé par mr.t
    Non car cette ligne correspond au chargement de l'icône de ma JFrame et ca marche bien! La chargement de l'image se fait dans le 2ème paragraphe du code à partir de la création d'une instance de JPanel.
    OUPS !
    Au temps pour moi, j'ai pas bien lu ton code...
    L'interêt du doute est que cela fait avancer.
    (parenthèses)Je suis à la recherche d'un emploi sur Valence(26) et ses environs.
    mon cv:
    http://charegis.netcv.org/

  5. #5
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    503
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 503
    Points : 445
    Points
    445
    Par défaut
    Ton chemin menant à l'image n'est pas local ?
    L'interêt du doute est que cela fait avancer.
    (parenthèses)Je suis à la recherche d'un emploi sur Valence(26) et ses environs.
    mon cv:
    http://charegis.netcv.org/

  6. #6
    Membre habitué
    Inscrit en
    Septembre 2003
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 174
    Points : 194
    Points
    194
    Par défaut
    Salut,

    J'ai execute ton code en indiquant le chemin d'une image presente dans ma machine et il n'y pas de probleme, l'image est correctement affichee dans le JPanel.

    Est ce que ce la te genere une exception ?
    Par exemple :
    java.lang.NullPointerException
    at javax.swing.ImageIcon.<init>(Unknown Source)
    at aide.PacWin.<init>(PacWin.java:43)
    at aide.PacWin.main(PacWin.java:50)
    Cette exception est levee lorsque l'image en question n'est pas trouvee. Si c'est le cas, il s'agit tout simple d'un probleme de chemin.

    sylvain_2020

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Avril 2004
    Messages : 92
    Points : 60
    Points
    60
    Par défaut
    Je n'ai aucune exception de levée... Voici mot pour mot le code que je teste et je n'ai aucune image qui s'affiche!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Toolkit;
    import java.net.URL;
     
    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
     
    public class PacWin extends JFrame{
     
     
    	public static PacWin pacman;
     
    	public PacWin(){
    		super("PacMan");
    		setResizable(false);
    		setSize(800,600);
    		setLocationRelativeTo(null);
    		setVisible(true);
    		getContentPane().setLayout(new BorderLayout());
     
    		JPanel panelPacman = new JPanel();
    		panelPacman.setBackground(Color.black);
    		URL urlPacman = getClass().getResource("Pacman/images/pacman.gif"); 
    		JLabel labelPacman = new JLabel(new ImageIcon(urlPacman)); 
    		panelPacman.add(labelPacman);
    		getContentPane().add(panelPacman,BorderLayout.WEST);
    	}
     
     
     
    	public static void main(String[] args) throws Exception 
    	{
    		pacman=new PacWin();
    	}
     
     
    }

  8. #8
    Membre habitué
    Inscrit en
    Septembre 2003
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 174
    Points : 194
    Points
    194
    Par défaut
    Et avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    URL urlPacman = getClass().getResource("/Pacman/images/pacman.gif");
    ?

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Avril 2004
    Messages : 92
    Points : 60
    Points
    60
    Par défaut
    Ca ne fait aucun changement.... J'ai toujours une frame vide qui s'affiche...

  10. #10
    Membre habitué
    Inscrit en
    Septembre 2003
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 174
    Points : 194
    Points
    194
    Par défaut
    hehehe ... il manque juste un appel a validate() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Toolkit;
    import java.net.URL;
     
    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
     
    public class PacWin extends JFrame{
     
     
       public static PacWin pacman;
     
       public PacWin(){
          super("PacMan");
          setResizable(false);
          setSize(800,600);
          setLocationRelativeTo(null);
          setVisible(true);
          getContentPane().setLayout(new BorderLayout());
     
          JPanel panelPacman = new JPanel();
          panelPacman.setBackground(Color.black);
          URL urlPacman = getClass().getResource("Pacman/images/pacman.gif");
          JLabel labelPacman = new JLabel(new ImageIcon(urlPacman));
          panelPacman.add(labelPacman);
          getContentPane().add(panelPacman,BorderLayout.WEST);
           validate();
       }
     
     
     
       public static void main(String[] args) throws Exception
       {
          pacman=new PacWin();
       }
     
     
    }
    [EDIT]
    Tu peux egalement resoudre ton probleme est deplacant setVisible(true); tout a la fin du constructeur
    [/EDIT]

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Avril 2004
    Messages : 92
    Points : 60
    Points
    60
    Par défaut
    Merci c'était bien ça! *#%# de validate()! lol

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. affichage Images dans une JFrame
    Par rburney dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 19/12/2007, 17h39
  2. chargement des images dans une table
    Par sandy07 dans le forum Bases de données
    Réponses: 3
    Dernier message: 20/04/2007, 09h37
  3. Afficher une image dans une JFrame
    Par vince351 dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 25/01/2007, 18h32
  4. Chargement d'image dans une application graphique
    Par chocoboy dans le forum Langage
    Réponses: 2
    Dernier message: 26/10/2006, 21h29
  5. [JFrame] affichage de component et d'image dans une JFrame
    Par Joeleclems dans le forum Agents de placement/Fenêtres
    Réponses: 8
    Dernier message: 08/10/2004, 16h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo