在学习坦克大战过程中发现使用相对路径查找处于同一个目录但不同包时无法查找到,例如:a包和b包都在c包下,需要在b包中查找c包中的内容无法查找到
@Override
public void paint(Graphics g) {
g.drawImage(Toolkit.getDefaultToolkit().getImage("../images/p1tankD.gif"),100,100,null);
}
该代码无法查找到上一级目录中images包下的p1tankD.gif
解决方法如下
在学习绘图中,如果需要绘制一张图片,则需要获取这张图片通过Toolkit进行获取
在getImage()方法中,需要填写图片的路径,因为在程序编写中,路径的显示方式有绝对路径,和相对路径。那么出现了路径查找的问题,可以使用如下方法进行获取路径:
@Override
public void paint(Graphics g) { g.drawImage(Toolkit.getDefaultToolkit().getImage(GameWindow.class.getResource("../images/p1tankD.gif")),100,100,null);
//GameWindow为该类的类名,通过反射获取
}
/GameWindow为该类的类名,通过反射获取
}