改错了,那个Freme1应该是ConfigFrame,
自己先顶一个。

解决方案 »

  1.   

    data_win.ConfigFrame.class.getResource("new.png")
    改成
    this.getClass().getResource("new.png")
    试试
      

  2.   

    你程序的 class (Frame1.java的) 文件在 jar 包的什么位置?
    你这个 new.png 又在包里的什么位置?
    必须根据图片在包内与你class文件的相对位置决定程序的语句应如何写
      

  3.   

    准备睡觉了,给你留一个参考方案包为 App.jar假设 1:
    new.png 在 App.jar 中的位置是 dir1/dir2/new.png
    Frame1.class 在 App.jar 中的位置是 dir1/Frame1.class
    语句为: Frame1.class.getResource("dir2/new.png")假设 2:
    new.png 在 App.jar 中的位置是 dir1/dir2/new.png
    Frame1.class 在 App.jar 中的位置是 dir1/dir3/Frame1.class
    语句为: Frame1.class.getResource("../dir2/new.png")
    ".."代表上级目录
      

  4.   

    目录没错啊,Frame1.class 与 new.png在同一个目录下,所以直接用“new.png”。
      

  5.   

    如果在同一个目录下
    Frame1.class.getResource("new.png")
    还不行的话那就推荐你升级 SDK 了
    icon 用法详见:
    http://java.sun.com/docs/books/tutorial/uiswing/misc/icon.html
    里面有关于 URL 的说明
      

  6.   

    你可以手动用 jar 命令打包试试
    看看会不会出现问题
      

  7.   

    用命令行试试,jcreator好像打包也有问题
      

  8.   

    调了老半天,还是不知道原因,看了help后,改了一下使用方式,将
    new ImageIcon(data_win.ConfigFrame.class.getResource("new.png"));
    改为
    new ImageIcon("new.png");
    一切ok,