Java Swing:ImageIcon没出现在eclipse中?

时间:2012-01-24 17:45:32

标签: java eclipse swing

我正在设计一个GUI。我创建了一个菜单栏,并在菜单中添加了菜单项,并设置了setMenubar。 我的问题是我无法在菜单项中添加一个图标(图标不会出现在eclipse中)。

这就是我的做法: 我在D:/something/src/resources/new.png中有我的.png文件

JMenuBar menuBar = new JMenuBar();
JMenu File = new JMenu("File");
menuBar.add(File);
java.net.URL imageURL = this.getClass().getResource("/resources/new.png");
System.out.println(imageURL); //imageURL is printing correctly in console
ImageIcon im = new ImageIcon(imageURL);
JMenuItem newItem = new JMenuItem("New", im);

File.add(newItem);
setJMenuBar(menuBar);

我也面临着向工具栏中的按钮添加图标的类似问题。猜猜,这是同样的原因。谁能告诉我我做错了什么。

注意:我也尝试过.jpg,.jpeg和.ico文件。但日食中没有出现任何东西!我正在使用Windows& MS Access数据库。

2 个答案:

答案 0 :(得分:1)

资源中的文件通常最终位于Jar的根目录。尝试:

java.net.URL imageURL = this.getClass().getResource("/new.png");

如果对您失败,请展开Jar并检查图像位于认为的位置。

答案 1 :(得分:0)

希望资源文件夹是您通过右键单击项目创建的源文件夹。所以你也可以使用它来检索图像。

URL url = ClassLoader.getSystemResource(path);

其中path =“new.png”

或者引用你:

“我就是这样做的:我在D:/something/src/resources/new.png中有我的.png文件” 尝试更改classes / bin文件夹中的resources文件夹的位置而不是src。所以它必须看起来像这样D:/something/classes/resources/new.png 现在,如果你将使用

URL url = ClassLoader.getSystemResource(path);

then path =“resources / new.png”;

然后我想你的做法也会运行。

希望这可能会在某种程度上帮助你。

问候。