Sto creando un'interfaccia utente utilizzando Swing e voglio visualizzare un'immagine in un JLabel
. Il codice che uso è la seguente:Toolkit.getDefaultToolkit(). CreateImage() vs ImageIO.read()
JLabel label = new JLabel(new ImageIcon(ImageIO.read(new File("img.jpg"))));
Questo funziona bene se uso png
immagini, ma quando si tratta di jpg
(solo alcuni di essi), ottengo un'immagine rossiccio (uno diverso da quello che vedo in Paint.NET). L'immagine che ho usato è questa: img.jpg
così ho cercato (in alternativa):
Toolkit.getDefaultToolkit().createImage(new File("img.jpg").getAbsolutePath());
- Qualcuno ha un'idea del perché questo accada? È un formato speciale
JPEG
che non è supportato? - Ho letto su questo forum che molte persone consigliano di utilizzare ImageIO (here per esempio). Perché?
Grazie mille
L'alternativa ha funzionato? – ShiDoiSi
Sì, sì. Ecco perché mi chiedo perché la gente consiglia l'altro modo ... –
Aspetta, non riesco a trovare alcun 'createImage (File f)' nei documenti Java Toolkit ... sicuro? – ShiDoiSi