Java Swing中ImageIcon无法显示图片问题求助
Java Swing中ImageIcon无法显示图片问题求助
嘿,我最近在做一个Java Swing小应用,遇到个头疼的问题——图片死活显示不出来😅。先跟大家说说我的情况:
我的项目结构是这样的:
/src /img/TicTacToe.png /myFrame /MyFrame.java /Frame1.java
我的MyFrame.java代码开头是:
package myFrame;
(后面是尝试加载图片的逻辑,但目前没贴全,不过核心问题应该出在图片加载的路径上)
我自己琢磨了下,大概率是路径配置的问题,毕竟Swing加载资源的时候对路径要求挺严格的,给大家分享几个我试过的可行方案,也希望能得到更多建议:
- 用类加载器加载资源(推荐):这种方式不管是运行还是打包成jar都能正常工作,因为它是从类路径里找资源的。你可以这么写:
ImageIcon icon = new ImageIcon(MyFrame.class.getResource("/img/TicTacToe.png"));
注意路径开头的/,它代表从src的根目录开始查找,正好对应我们项目里的/img文件夹位置。
检查文件名和路径拼写:一定要仔细核对图片文件名的大小写(Windows系统可能不敏感,但Linux/Mac或者打包成jar后就会区分大小写),还有路径有没有写错,比如是不是把
img写成images了?确认资源目录配置:有些IDE不会自动把
img文件夹复制到编译后的输出目录里,你可以去项目的target/classes(或者bin)目录看看,有没有img文件夹和里面的图片。如果没有的话,在IDE里把img文件夹标记为资源目录就行——比如在IDEA里右键img文件夹,选“Mark Directory as” -> “Resources Root”。
对了,如果你之前是用new File("img/TicTacToe.png")这种方式加载的,那肯定不行,因为这里的相对路径是相对于程序运行的当前目录,不是src目录,很容易找不到文件。
备注:内容来源于stack exchange,提问作者user30254562
相关产品推荐
相关产品推荐

