Elipse 插件开发中中加载图片的方法-1

1. 适用于:SWT/JFace工程:

 

    1)  // 得到一个图像的ImageDescriptor对象
        private ImageDescriptor getImageDesc(String fileName) {
             try {
                  URL url = new URL("file:icons/" + fileName);
                  return ImageDescriptor.createFromURL(url);
             } catch (MalformedURLException e) {
                  e.printStackTrace();
             }
                  return null;
         }

 

    2) 图片先注册,然后从图片缓存中获取:

        /*
         * 创建一个图像注册表,因为程序需要共享图像注册表ImageRegistry,所以在实际项目中
         * 最好将ImageRegistry设置成静态变量(类变量)以使它可以被全局访问
         */
        ImageRegistry imageRegistry = new ImageRegistry();
        //创建一个图像描述符对象
        URL url = new URL("file:src/275.jpg");
        ImageDescriptor imageDesc = ImageDescriptor.createFromURL(url);
        //将图像描述符添加到图像注册表,键值为“refresh”
        imageRegistry.put("refresh", imageDesc);
        //将图像从图像注册表取出
        Image image = imageRegistry.get("refresh");
        //从图像注册表取出图像描述符
        ImageDescriptor imageDesc2 = imageRegistry.getDescriptor("refresh");
        /**//*
         * 将图像从注册表里移除,如果有组件正在使用这个图像,图像依然会被释放掉,组件上就不会显示此图像.
         * 另外,如果注册表里没有这个键值“refresh”也不会显示错误或异常.
         */
        imageRegistry.remove("refresh");

 

 

2.  在RCP/Plugin工程中获取图片的方法:

 

     AbstractUIPlugin.imageDescriptorFromPlugin("crmSample", location);

 

     例子:

     AbstractUIPlugin.imageDescriptorFromPlugin(plugin的id, 文件的位置)!

     /**
      *  获取Toolbar上按钮图片的方法.
      * @param fileName - 图片名称.
      * @return
      */
    private ImageDescriptor getImageDesc(String fileName) {
           return AbstractUIPlugin.imageDescriptorFromPlugin(*PLUGIN ID*,"icons/".concat(fileName));
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值