gpt4 book ai didi

Java 图像不显示?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:47:28 25 4
gpt4 key购买 nike

尝试显示我的 Logo 时遇到问题。图片和main.java保存在同一个文件夹

    ImageIcon im = new ImageIcon("banner.png"); 
JLabel bam = new JLabel(im);

grid.add(bam);

我的语法有问题吗?

最佳答案

有许多可能的问题,但最有可能的是,图像的位置与应用程序的执行位置不在同一上下文中。

假设,main.java 位于某个目录中(为了论证,我们只说“path/to/class”),然后当您执行 main.java,图像的路径将变成类似 /path/to/class 的内容,这意味着您应该使用类似...

ImageIcon im = new ImageIcon("path/to/class/banner.png"); 

这还假设图像还没有被压缩,因为 ImageIcon(String) 需要文件系统上文件的路径。

如果程序已被压缩,那么您将无法使用 ImageIcon(String),因为 banner.png 不再是一个文件,而是一个资源,那么你需要使用类似...

ImageIcon im = new ImageIcon(getClass().getResource("/path/to/class/banner.png"));

/path/to/classmain.java 所在的包。

无论哪种情况,我都建议您改用 ImageIO.read,因为这实际上会在出现问题时抛出 IOException,其中 ImageIcon 往往会无声地失败...

看看Reading/Loading an Image了解更多详情

关于Java 图像不显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20318945/

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