在我的游戏中,我有以下代码:
public Main() { p = new Potato(); addKeyListener(new AL()); setFocusable(true); ImageIcon i = new ImageIcon("C:/test.png"); img = i.getImage(); time = new Timer(5, this); time.start(); en = new Enemy(700, 200, "C:/enemy.png"); en2 = new Enemy(700, 200, "C:/enemy.png"); }
但是我想将test.png放在包内,但是当我这样做时会产生i片的错误。我想将图像放在jar文件中的文件夹中,但是我会把它放在那里?我主要问的是如何在jar中创建ImageIcons引用文件。
答案 0 :(得分:0)
答案 1 :(得分:0)
ImageIcon(String)
需要一个文件引用。当您将资源嵌入到应用程序上下文中(并且它们是Jar)时,他们将无法再访问喜欢的文件,而是需要使用类似getClass().getResource(...)
例如,假设图像与类在同一个包中,您可以使用...
ImageIcon i = new ImageIcon(getClass().getResource("test.png"));
或者如果图像在另一个包中,您可能需要使用
ImageIcon i = new ImageIcon(getClass().getResource("/path/to /resource/test.png"));