我用JFileChooser 选择一个图片 然后显示在jfram的jlabel上选择文件的代码
                 File file = fcPic.getSelectedFile();
               picName = file.getName();
               ImageIcon newImage = new ImageIcon(ReporterGUI.class.getResource("picName ")));
               picture.setIcon(newImage);显示图片jlabel
       picture = new JLabel(new ImageIcon(ReporterGUI.class.getResource("1.jpg")));
现在只能显示与此java文件同目录的图片 其他目录的不能显示 报错比如我想选c盘的图片问题可能出在url那里  应该怎么写代码 急啊

解决方案 »

  1.   

    fcPic取绝对路径, new ImageIcon是能够设置绝对路径的吧, 具体搜搜.
      

  2.   

    File   file   =   fcPic.getSelectedFile();
     picName   =   file.getName();
    ImageIcon   newImage   =   new   ImageIcon(Toolkit.getDefaultToolkit().createImage(file.toURI().toURL()));
     picture.setIcon(newImage); 
      

  3.   

    得到了它的URL,就什么事都可  以做了
      

  4.   

    如果是以后要打包在jar中或者就存储在当前路径或子目录下,那么只要写jar包中的相对路径就可以了,
    如: getResource("resources/images/test.jpg");
    如果是本地磁盘上的文件,就写绝对路径好了
      

  5.   

    /** Returns an ImageIcon, or null if the path was invalid. */
    protected static ImageIcon createImageIcon(String path) {
    java.net.URL imgURL = MainFrame.class.getResource(path);
    if (imgURL != null) {
    return new ImageIcon(imgURL);
    } else {
    log.error("找不到位图文件: " + path);
    return null;
    }
    }