gpt4 book ai didi

java - 读取带有 "ImageIO.read"的图像路径以显示在 JLabel 中

转载 作者:行者123 更新时间:2023-12-04 10:18:24 24 4
gpt4 key购买 nike

完整的本地路径( C:\\Users\\workspace\\myproject\\src\\eclipse\\mainclass\\icons\\my-image.png )工作正常,但使用如下代码中的短路径,会出现异常 javax.imageio.IIOException: Can't read input file! .

我在这里做错了什么?

    JLabel lab_h1 = new JLabel();
BufferedImage img = null;

try {
img = ImageIO.read(new File("icons/my-image.png"));

} catch (IOException e) {
e.printStackTrace();
}

Image dimg = img.getScaledInstance(140, 40,Image.SCALE_SMOOTH);

lab_h1.setIcon(new ImageIcon(dimg));

最佳答案

您遇到的问题是,当您尝试使用相对路径打开文件时,它看起来与您运行程序的位置有关。您可以使用资源,而不是希望获得正确的路径。

BufferedImage img = ImageIO.read( 
YourClassName.class.getResource(
"/mainclass/icons/my-image.png"
)
);

我认为您可能需要修改路径,因为我不知道您的包结构是什么。我还假设 eclipse 将捆绑源文件夹中的资源文件。

关于java - 读取带有 "ImageIO.read"的图像路径以显示在 JLabel 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60976527/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com