Estoy creando una interfaz de usuario usando Swing y quiero mostrar una imagen en un JLabel
. El código que uso es el siguiente:Toolkit.getDefaultToolkit(). CreateImage() vs ImageIO.read()
JLabel label = new JLabel(new ImageIcon(ImageIO.read(new File("img.jpg"))));
Esto funciona bien si uso png
imágenes, pero cuando se trata de jpg
(sólo algunos de ellos), me sale una imagen rojizo (uno diferente que el que veo en Paint.NET). La imagen que utilicé es éste: img.jpg
así que he intentado (como alternativa):
Toolkit.getDefaultToolkit().createImage(new File("img.jpg").getAbsolutePath());
- ¿Alguien tiene una idea de por qué sucede esto? ¿Es un formato especial
JPEG
que no es compatible? - He leído en este foro que la mayoría de la gente recomienda utilizar ImageIO (here por ejemplo). ¿Por qué?
Muchas gracias
¿Funcionó la alternativa? – ShiDoiSi
Sí lo hace. Es por eso que me pregunto por qué la gente lo recomienda de la otra manera ... –
Espera, no puedo encontrar 'createImage (File f)' en los documentos Java de Toolkit ... ¿seguro? – ShiDoiSi