可能和你的classpath有关,你加个.;试试

解决方案 »

  1.   

    必须将图片放在包中的目录gif下。
      

  2.   

    我的确是将图片放在目录gif下了.
      

  3.   

    加.;?不明白
    请详细点“.”在classpath中代表当前目录
      

  4.   

    你的环境变量设好了吗?在CLASSPATH最后一个分号后面加个.
      

  5.   

    new ImageIcon("gif//F02ep1.gif");
    没看懂!
    --- ZJQ
      

  6.   

    new ImageIcon("gif//F02ep1.gif");
    有这样指定相对路径的吗,好像实现中都是要用绝对路径实现的吧,所以应该获取当前路径加在指定的相对路径前面,好像用
    System.getPropertis("user.dir")获取当前路径吧,不是很清楚,不对请见谅.
      

  7.   

    你的环境变量设好了吗?在CLASSPATH最后一个分号后面加个.您指的是什么环境变量?
    "."怎么加?
    请详细指点.
      

  8.   

    系统会按System.getProperty("user.dir")+"\\gif\\\F02ep1.gif"去定位该文件,检查一下再试试
      

  9.   

    我想可能是程序没有办法找到你的图片所在位置你试下不用gif文件夹,把图片直接与类文件放到同一个目录下.
      

  10.   

    可能是我问得不清楚.问题是这样的:
    ImageIcon m_objIcon0    = new ImageIcon("gif//F02ep1.gif");
    ComMod.setIcon(m_objIcon0_1);  //ComMod是Button
    F02ep1.gif 图片是放在gif目录下的.我用JB打包到Moon.jar,我看过了,图片已经打进gif目录下了.
    我将Moon.jar 和gif目录拷贝到d:\
    然后我是这样运行的:
    1: c:\java -jar d:\Moon.jar
    运行时ComMod上没有图片显示但是我这样运行图片却可以显示的
    2: d:\java -jar Moon.jar如果gif目录不与Moon.jar同时拷贝到d:\下,上面的两个方法运行都没有图片显示的.这到底是为什么?
    我只想要一个文件Moon.jar就可以了,不想附带gif目录了.不知道各位遇到类似的问题吗?已经好几天了,我快要放弃了,快帮忙啊!!!
      

  11.   

    ImageIcon m_objIcon0    = new ImageIcon("./gif/F02ep1.gif");
    试试看, 
    要不将gif目录不停的放入jar中的每一个目录看看
      

  12.   

    现在公布答案
    URL url = getClass().getResource("/img/aaa.jpg");
    ImageIcon ico = new ImageIcon(getToolkit().getImage(url));
      

  13.   

    to  telenths(非法操作) 
    > URL url = getClass().getResource("/img/aaa.jpg");
                                        ^^^^^^^^^^^^^^
                                       getClass().getResource()是相对路径,一般写开头的“/”> ImageIcon ico = new ImageIcon(getToolkit().getImage(url));
      ImageIcon还有个构造方法 ImageIcon (URL url);
    所以应该这样:
      ImageIcon ico = new ImageIcon(ClassLoader.getSystemResource("gif/F02ep1.gif");to 楼主:
     一旦打包后,就不能再用本地文件系统的路径了,必须用资源URL定位包中的文件。
      

  14.   

    错了,重发
    to  telenths(非法操作) 
    > URL url = getClass().getResource("/img/aaa.jpg");
                                        ^^^^^^^^^^^^^^
                                       getClass().getResource()是相对路径,一般不写开头的“/”> ImageIcon ico = new ImageIcon(getToolkit().getImage(url));
      ImageIcon还有个构造方法 ImageIcon (URL url);
    所以应该这样:
      ImageIcon ico = new ImageIcon(ClassLoader.getSystemResource("gif/F02ep1.gif");to 楼主:
     一旦打包后,就不能再用本地文件系统的路径了,必须用资源URL定位包中的文件。
      

  15.   

    farawayzheng_necas(遥远) 说的没错!
    问题解决了.
    突然间觉得分太少了,各位请不要介意!