当前位置: 代码迷 >> Java相关 >> [求助]NetBeans中的工程问题
  详细解决方案

[求助]NetBeans中的工程问题

热度:131   发布时间:2006-10-21 16:47:55.0
[求助]NetBeans中的工程问题
我在我的应用程序的工具条中用了很多图标,我的工程是在NetBeans中创建的。在创建图标类的时候,我是指定的自己电脑上的绝对路径 E:\Sim\src\sim\general,但是我在生成jar可执行文件后,移植到别的机器上后,我必须也要在别的机器上建一个文件夹E:\Sim\src\sim\general,并把我的图标考到该文件夹下,才能正常显示。

我想用一个相对路径,这样jar 程序在别的机器上运行的时候,我就不必建文件夹E:\Sim\src\sim\general。双击鼠标即可正常运行我的程序,并显示工具条上的图标。
搜索更多相关的解决方案: NetBeans中  工程  鼠标  Sim  

----------------解决方案--------------------------------------------------------
你在干什么 ???
----------------解决方案--------------------------------------------------------
楼主的想法很好,不过我一直没有实现,如果你实现了不妨告诉大家一声呀
----------------解决方案--------------------------------------------------------
你在制作JAR文件的时候可以将这些图标一起打包,这样就可以不用在移植的时候都要设置路径那么麻烦了
----------------解决方案--------------------------------------------------------
一个很简单的方法
你得到你图片路径时,不要用绝对路径,而是把它和你的class文件放在一个目录下
然后就可以利用

Image im=Toolkit.getDefaultToolkit().createImage(this.getClass().getResource("xxx.jpg"));
然后记得把im读入内存

----------------解决方案--------------------------------------------------------

如果单纯用相对路径是不行的,因为在工程中,源文件与.class文件以及最后的项目生成文件.jar分别在不同的目录下面。

我在sun公司论坛(http://forum.java.sun.com/thread.jspa?threadID=778899&tstart=0)上查到了一中方法
private static ImageIcon newIcon=new ImageIcon(MyJFrame.class.getResource("New.gif"), "New");
但是我实现的时候出现了错误。

他给我的那中方法是可取的。我不知道错误出现在哪儿?


----------------解决方案--------------------------------------------------------
用相对路径是肯定可以的,你可以去试玩一下我的那个程序,它里面的图片就是打包在JAR文件里,我用netbeans的时候就是把它放到class文件一个目录下

这个JAR文件到哪都能运行

----------------解决方案--------------------------------------------------------

请问把图标放到源文件所在的目录下,就行吗?

[此贴子已经被作者于2006-10-22 14:46:32编辑过]


----------------解决方案--------------------------------------------------------
以下是引用seablue1023在2006-10-22 14:34:01的发言:

请问把图标放到源文件所在的目录下,就行吗?


错,放到class文件下


----------------解决方案--------------------------------------------------------

我找到了一个文件夹叫做classes是这个吗?
然后在下面有个文件夹,就是我的包名,
这是我运行是的错误提示
Uncaught error fetching image:
java.lang.NullPointerException
at sun.awt.image.URLImageSource.getConnection(URLImageSource.java:97)
at sun.awt.image.URLImageSource.getDecoder(URLImageSource.java:106)
at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:240)
at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:172)
at sun.awt.image.ImageFetcher.run(ImageFetcher.java:136)


----------------解决方案--------------------------------------------------------
  相关解决方案