PDA

View Full Version : [Java]Errore nel caricamento immagini (ImageIcon)


Killer Application
11-06-2008, 12:52
Ho scritto 2 righe di codice che mi printassero a video una immagine, copiata pari pari dal libro....

il fatto è che mi genera il JFrame ma senza foto.
La foto giocatore.jpeg è stata messa nella stessa cartella del file origine .java, ma tanto non me la printa.

la foto è questa
http://i229.photobucket.com/albums/ee111/drbarde/100_0455.jpg

resizata a 80x110 pixel

il codice
import javax.swing.*;
import java.awt.*;
public class giocatore
{
public static void main (String[] args)
{
JFrame frame = new JFrame ("label");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ImageIcon icon = new ImageIcon("giocatore.jpeg","love");
JLabel label1;
label1 = new JLabel ("diavolo", icon, SwingConstants.CENTER);
JPanel panel =new JPanel();
panel.setBackground (Color.cyan);
panel.setPreferredSize(new Dimension (200,250));
panel.add(label1);
frame.getContentPane().add(panel);
frame.pack();
frame.setVisible(true);
}
}

questo è il risultato

http://img252.imageshack.us/img252/2922/immagineuk4.jpg

grazie per l'aiuto!

smart83
14-06-2008, 16:32
nn capisco perchè ti crei un jlabel e anche un ImageIcon
usando il JLabel,puoi settarlo direttamente cn .setIcon e diventerebbe
jLabel1=new Jlabel();
jLabel1.setIcon(new ImageIcon(getClass().getClassLoader().getResource("
giocatore.jpeg")));

cmq la parte "getClass().getClassLoader().getResource" nn so se puoi farne a meno,potresti provarci passandogli solo l'immagine.

andbin
14-06-2008, 21:05
La foto giocatore.jpeg è stata messa nella stessa cartella del file origine .javaPer come hai specificato la immagine, cioè "giocatore.jpeg", è un path relativo alla "current working directory". Ovvero verrà cercata nella directory che è quella "corrente" nel momento in cui viene avviata la JVM.

Quale sia la directory corrente nel tuo caso ... non si sa. Non hai specificato come e da dove avvii la applicazione.