【发布时间】:2013-12-11 14:19:28
【问题描述】:
我对使用 Swing 还很陌生,我认为在 Eclipse 中我所要做的就是将一个图像文件放入 SRC 目录,然后程序就可以访问它。当然,情况并非如此。访问图像的唯一方法是提供整个“C:”文件名。我尝试将其放入子目录并将该文件夹添加到构建路径中。我认为这会起作用。
我的程序目前被称为“PullingMyHairOut”,因为这正是我正在做的事情。如果您回答,请假设我不了解 Eclipse 的内部工作原理,因为这与事实相去甚远。
import java.awt.BorderLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class PullingHairOut extends JFrame{
ImageIcon img = new ImageIcon("us.jpg");
JLabel label = new JLabel(img);
public PullingHairOut(){
setSize(640,480);
setDefaultCloseOperation(EXIT_ON_CLOSE);
add(label,BorderLayout.CENTER);
add(new JButton("Help"),BorderLayout.SOUTH);
setVisible(true);
}
public static void main(String[] args) {
PullingHairOut main = new PullingHairOut();
}
}
【问题讨论】:
-
两件事。 1-我相信Eclipse资源需要存储在项目内的“resources”文件夹中,而不是“src”; 2-您将不再能够像文件一样访问这些资源,而是作为资源。您将需要使用
getClass().getResource("/path/to/resource") -
图片通常放在您的
res --> drawable xxxx文件夹中。 -
天啊.. 我以前从未见过像这样的问题。好吧,除了今天早些时候两次,昨天几次,.. 请搜索解决方案,然后再假设您有一个独特的问题。
-
我之所以发布它是因为我找到了很多示例,但是它们都使用了我还没有弄清楚的类和方法,我想一次解决一个令人头疼的问题。
-
感谢您的建议。有效的是 ImageIcon img = new ImageIcon(getClass().getResource("us.jpg"));并将图像放入 bin 文件夹中。这在某种程度上是有道理的,但我觉得不应该这样做。
标签: java eclipse image embedded-resource