我正在设计一个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数据库。
答案 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”;
然后我想你的做法也会运行。
希望这可能会在某种程度上帮助你。
问候。