web-dev-qa-db-fra.com

Java ajout d'ImageIcon à JLabel

J'essaie de faire un jeu très basique avec Java et j'ai du mal à afficher une image sur un JFrame. Cela a fonctionné par le passé pour moi et ce n'est pas le cas maintenant, je ne vois pas ce que j'ai fait de mal.

J'ai essayé d'imprimer le répertoire de travail actuel et de changer l'endroit où j'obtiens mon image pour qu'elle corresponde à cela. Il est probable que le problème n'obtienne pas l'image, car mon (filefinder ou filereader ou quelque chose comme ça) peut le trouver sans problème, mais je ne peux pas l'ajouter correctement (le ImageIcon) au JLabel, ou celle du JFrame.

Ceci est mon code ...

JFrame frame = new JFrame("no image");
ImageIcon image = new ImageIcon("C:/Documents and Settings/user/Desktop/hi/xD/JavaApplication2/image.png");
JLabel imagelabel = new JLabel(image);
frame.add(imagelabel);

JFrame a été setVisible(true) et pack().

Quelqu'un pourrait-il m'aider à comprendre ce qui ne va pas.

8
user1486826

Votre problème réside ici:

   ImageIcon image = new ImageIcon("C:/Documents and Settings/user/Desktop/hi/xD/JavaApplication2/image.png");
   JLabel imagelabel = new JLabel(character);

Vous créez une "image" ImageIcon mais vous créez votre JLabel avec "caractère".

Ça devrait être:

JLabel imagelabel = new JLabel(image);
11
Guillaume Polet

Essayer,

ImageIcon image = new ImageIcon("c:\\path\\image.png");
imagelabel = new JLabel(character, image, JLabel.CENTER);
frame.add(imagelabel);

Jetez un oeil à Tutoriel - Comment utiliser les icônes

3
adatapost