情况是这样:我做了一个东西,加载图的方法我是用一个label,然后设置一个icon来加载图我的加载图的方法全是这样,问题是有些机器可以显示完全部的图,有些机器显示不了部分的图,这个什么原因

解决方案 »

  1.   

    此类可为在applet中运行的组件为加载图片package yxc.app.util;import java.util.MissingResourceException;
    import java.util.ResourceBundle;import javax.swing.ImageIcon;public class LoadImageIcon {
    private ResourceBundle config;// = ResourceBundle.getBundle("yxc.organization.webui.config");
    private Object obj;

    public LoadImageIcon(String configFile,Object obj) {
    config = ResourceBundle.getBundle(configFile);
    this.obj=obj;
    } public ImageIcon getImageIcon(String s) {
        ImageIcon imageicon = null;
        java.net.URL url = null;
        if (s == null)
          return null;
        String s1;
        try {
          s1 = config.getString(s);
        }
        catch (MissingResourceException missingresourceexception) {
          return null;
        }    url = obj.getClass().getResource(s1);
        if (url != null) {
         imageicon = new ImageIcon(url);
          if (imageicon.getImageLoadStatus() == 4) {
            System.err.println("Failed to load image " + url + " for entry [" + s + "] ");
            return null;
          }
        }
        else {
          System.out.println("imageicon is null");
        }
        return imageicon;
      }
    }用法:先在要用到图片的类的包中编辑好config.properties文件,内容如下:
    organicon=images/organization.gif
    personicon=images/person.gif在包目录下建images目录,并把图片文件放入里面,gif jpg格式都可在用图片的类中加入:
    private LoadImageIcon conf=new LoadImageIcon("yxc.organization.webui.config",this);
    然后就可用
    conf.getImageIcon("organicon");
    取到图片了