我尝试将图像放到JButton上。写下图像的路径后,运行程序,然后图像就不在按钮上了。下面的代码示例:
public static JButton start = new JButton(new ImageIcon("resources//img//menu//Start_Game.png"));
";资源";文件夹在";src";文件夹这是Eclipse 中的Hirarchy
在我仔细检查后,我把所有的东西都拼对了,我换了一条路。
public static JButton start = new JButton(new ImageIcon(System.getProperty("user.home") + "//Tindir//Hauptmenue//Start_Game.png"));
突然它起了作用。很明显,第一条路径是不正确的。
问题是否有方法输入与代码位于同一项目文件夹中的图像的路径?
是的,但不是这样-这些参数是文件名,并且java代码不是作为一袋文件部署的。它被部署为一个jar文件jar文件中的条目不计算,并且永远不能与此API一起使用。
所以,不要用这个电话。使用另一个URL,因为可以将一个文件或jarfile中的一个条目表示为其中之一:
MyClass.class.getResource("Start_Game.png")
这就是您在代码中放置的内容,而不是"resources/etc/Start_Game.png"
。这会在与MyApp.class
完全相同的位置查找名为Start_Game.png
的资源,即使它是在jar文件中找到的,从数据库中加载的,从互联网上直播的——不管怎样。你在使用同样的机制。
如果您的"开始游戏"文件在其他地方,请从/
开始。你似乎想要/img/menu/Start_Game.png
在这里。
这个技巧是一个简单的方法来了解你在做什么:
class MyClass {
public static void main(String[] args) {
System.out.println(MyClass.class.getResource("MyClass.class"));
}
}
你会用这个输出来解决的。