Java 项目在可执行jar文件后不显示图标
我正在运行NetBeans应用程序,当我通过NetBeans运行它时,它会正确显示图标…但当我将它转换为可执行文件.exe时,它不会显示图标..我做了很多研究来解决这个问题,但一切都白费了。这是我见过的动态获取图标的最好方法。。。。 我的图标是src/com/idoccsmain/icons/以及icons文件夹中的所有我的图标Java 项目在可执行jar文件后不显示图标,java,swing,Java,Swing,我正在运行NetBeans应用程序,当我通过NetBeans运行它时,它会正确显示图标…但当我将它转换为可执行文件.exe时,它不会显示图标..我做了很多研究来解决这个问题,但一切都白费了。这是我见过的动态获取图标的最好方法。。。。 我的图标是src/com/idoccsmain/icons/以及icons文件夹中的所有我的图标 ImageIcon icon = new ImageIcon(Main.Class.getClass().getResource("/com/idoccsmain/
ImageIcon icon = new ImageIcon(Main.Class.getClass().getResource("/com/idoccsmain/icons/"+"add_icon.png")
通过这一行,我得到了我所有不同的图标。有人能为我提出任何解决方案吗 用于J2ME应用程序
仔细检查此图像,右键单击项目,然后单击属性
选择应用程序描述符,然后选择MIDlet
如果它在那里显示任何内容,如在这张图片中显示,则相应地进行编辑
注意:-在上述场景中,存在src/myproject/where icon和.java
====更新=====
基于桌面的可执行jar
然后使用这个代码
this.getFrame().setIconImage(new imageIcon(getClass().getClassLoader().getResource("add_icon.png")));
注意:只有当图像位于jar文件的根目录下时,这一行才有效。如果没有,则必须在字符串上指定文件夹:
getResource("yourfolder/add_icon.png")
您可能还希望创建可执行的java文件,并将图标与之关联。用于J2ME应用程序
仔细检查此图像,右键单击项目,然后单击属性
选择应用程序描述符,然后选择MIDlet
如果它在那里显示任何内容,如在这张图片中显示,则相应地进行编辑
注意:-在上述场景中,存在src/myproject/where icon和.java
====更新=====
基于桌面的可执行jar
然后使用这个代码
this.getFrame().setIconImage(new imageIcon(getClass().getClassLoader().getResource("add_icon.png")));
注意:只有当图像位于jar文件的根目录下时,这一行才有效。如果没有,则必须在字符串上指定文件夹:
getResource("yourfolder/add_icon.png")
您可能也对创建可执行的java文件感兴趣,并将图标与之关联。感谢各位的响应,在你们的帮助下,我提出了这个。。。解决方案 将图像放入Src文件夹,例如Src/icons/和icons文件夹内 而不是在netbeans中使用这一行来让图像正常工作
ImageIcon icon = new ImageIcon(getClass().getResource("/icons/AnyIconName.png"));
确保每个图标都使用这一行。感谢大家的回复,在你们的帮助下,我想出了这个。。。解决方案 将图像放入Src文件夹,例如Src/icons/和icons文件夹内 而不是在netbeans中使用这一行来让图像正常工作
ImageIcon icon = new ImageIcon(getClass().getResource("/icons/AnyIconName.png"));
并确保对每个图标都使用这一行。检查图标是否真的添加到了。您尝试过吗??如果您的问题已解决,请接受此答案。请创建一个小的独立程序来说明您的问题,并将其发布在此处。检查图标是否真的添加到了。您是否尝试过??如果你的问题解决了,那么接受这个答案。请创建一个小,这是一个独立的程序,说明了您的问题,并将其发布到此处。感谢您的努力,但brother我使用的是net beans 7.2.1,您在项目属性中指定的应用程序描述符中没有此选项。这是移动应用程序吗?不,不,这是桌面应用程序。很抱歉,我的问题中出错了。它是.exe文件但是当我使用getClass.getClassLoader.getResourcecom/Idoccs/icons/+add_icon.png;它给了我错误…如果我删除getClassLoader,它会说ok…其次,我试图用jsmooth生成.exe…然后会留下注释..我已经用getClass.getResource尝试了AdvanceInstaller。。。它不起作用..感谢我们的努力,但是兄弟,我使用的是NetBeans 7.2.1,并且在项目的属性中没有此选项您指定的应用程序描述符..这是移动应用程序吗?不,不,这是桌面应用程序。很抱歉,在我的问题中出错了。它是.exe文件。我正在尝试,但当我使用getClass.getClassLoader.getResourcecom/idocs/icons/+add_icon.png;它给了我错误…如果我删除getClassLoader,它会说ok…其次,我试图用jsmooth生成.exe…然后会留下注释..我已经用getClass.getResource尝试了AdvanceInstaller。。。它不起作用..这会用非源文件污染src目录。IMO的一个更干净的解决方案是修改build.xml文件以覆盖一个适当的目标,我认为它叫做-pre-build,将图标复制到build目录中,以便它们将包含在jar文件中。好主意。。。!我将尝试使用非源文件处理src目录。IMO的一个更干净的解决方案是修改build.xml文件以覆盖一个适当的目标,我认为它叫做-pre-build,将图标复制到build目录中,以便它们将包含在jar文件中。好主意。。。!我会试试的