Icon icon = new ImageIcon("/pic/head.gif");

解决方案 »

  1.   

    Icon icon = new ImageIcon("/pic/head.gif");在("pic/head.gif") 在加了那个"/" --> ("/img/head.gif")后在同一个文件夹下都不能显示图片了
      

  2.   

    Icon icon = new ImageIcon(YourClass.getClass().getResource("otherPath/head.gif"));I think it will be done in this way, good luck ,u guy.
      

  3.   

    使用
    ImageIcon(getClass().getResource("/pic/head.gif"))
    即可。
      

  4.   

    这里面涉及图片调用的先后问题,用java的思想来看:应该把图片放到jar(或其他java的安装包)里面。
    用工程以目录结构发布来说:直接以目录结构处理也没有问题。现在的情况是,*.class可以打到压缩包里面,访问也不受限制。但是其他文件并不行。
    感觉java在做这方面处理的时候有缺陷。所以,在开始工程设计的时候要设想好:将来怎么发布。
      

  5.   

    TO:knight_yl(knight_yl)
    不同意你的观点。不知大家是否看过JFC的例子,
    在$JAVA_HOME/demo/jfc/SwingSet2/中有你们要找的东西,具体代码参见
    $JAVA_HOME/demo/jfc/SwingSet2/src/SwingSet2.java
    中所定义的方法
        public ImageIcon createImageIcon(String filename, String description) ;
    它为大家提供了一个拿出在JAR包中包含的图像的例子。你执行一下这个JAR包吧,发现它当中的图片在我们的计算机中找不到;解开它就会发现,它们就在JAR包的内部。这个东东还可以被加入APPLET,不信你就打开SwingSet2s.html。PS:曾经有一个精典的程序摆在我的面前,但是我没有理解,等到了放弃的时候才后悔莫及,学习编程时最痛苦的事莫过于此。如果上天可以给我一个机会再来一次的话,我不会轻易放弃那段程序。呵呵,加油啊!