Я создаю пользовательский интерфейс с помощью Swing и хочу отобразить изображение в формате JLabel
. Я использую следующий код:
JLabel label = new JLabel(new ImageIcon(ImageIO.read(new File("img.jpg"))));
Это прекрасно работает, если я использую изображения png
, но когда дело доходит до jpg
(только некоторые из них), я получаю красноватое изображение (отличное от того, которое я вижу в Paint.NET). Я использовал следующее изображение: img.jpg
Итак, я попробовал (в качестве альтернативы):
Toolkit.getDefaultToolkit().createImage(new File("img.jpg").getAbsolutePath());
- Кто-нибудь знает, почему это происходит? Это специальный формат
JPEG
, который не поддерживается? - Я читал на этом форуме, что большинство людей рекомендуют использовать ImageIO (здесь например). Почему?
Большое спасибо
createImage(File f)
в документации Toolkit Java... да? - person Volker Stolz   schedule 20.08.2012createImage(String path)
, я отредактировал вопрос... - person   schedule 20.08.2012