关于Toolkit.getDefaultToolkit.getImage()的参数

关于Toolkit.getDefaultToolkit.getImage()的参数


一开始我用boardImg = Toolkit.getDefaultToolkit().getImage(“src/image/chessboard.jpg”);
这样是没问题的,项目编译可以读取图片,但是打包成jar包后就读取不到图片了,这是由于可执行jar包内是没有 src这个文件目录的,这个目录其实相当于jar包内的根目录。

后来我把路径换成了绝对路径:“D:/MyProject/fiveBord/src/image/chessboard.jpg”,这样jar包和项目都能读取到图片,但是不可能jar包用的图片还得本地自带吧!

最后我发现这种方式:
Toolkit.getDefaultToolkit().getImage(DrawChessBoard.class.getClassLoader().getResource(“image/chessboard.jpg”));
其中DrawChessBoard是类名,这种方法就可以读取到项目中的图片的相对位置了。

综上,Toolkit.getDefaultToolkit().getImage(…) 方法可接受 String 或者是 URL 参数,用以指定图像文件的路径。
用url的方法我没试验过,但是用绝对路径是可行的,本文的方法还是用的相对路径,不过是先解析jar包的资源再得到相对路径下的图片文件。

关于 Class.getResource和ClassLoader.getResource的区别分析 请看 这篇文章

你可能感兴趣的:(JAVA)