我正在使用 Swing 创建一个 UI,我想在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(例如这里)。为什么?
非常感谢