`

如何做RCP里的图片资源管理

 
阅读更多
这里我写了一中读取资源图片管理的方法,这个方法的好处就是,加载过的图片把它放在MAP里,下次再用的时候不用重新加载。



1.在这个plugin的最顶层目录下创建 icons文件,然后把图片放在这个文件夹里。


2.在这个plugin 里的Activator(默认是这个类名,一般自己会改成其他和PLUGIN相关的名字)里写static方法,这方法能根据图片所在地路径名字取得图片


public class Activator extends AbstractUIPlugin {
......
public static Image getImage(String path) {
        return getImage(getDefault().getImageRegistry(), path.toString());
    }
public static Image getImage(ImageRegistry registry, String path){
        try{
            Image img= registry.get(path);
            if(img==null){
                ImageDescriptor desc= Activator.imageDescriptorFromPlugin(Activator.class.getPackage().getName(), path);
                registry.put(path, desc);
                img= registry.get(path);
            }
            return img;
        }catch(MissingResourceException e){
            e.printStackTrace();
        }
        return null;
        
}
......
}

 
注意图片路径可以为/icons/xxx.gif ,也可以为icons/xxx.gif. 因为内部代码会自动转化。如果不用这种办法取得资源路径,那么只能用/icons/xxx.gif绝对路径。O YEA~

3.然后就可以在别的类里根据图片路径读出IMG。
例如。
class ImgShows{
......
public Img getImg(String path){
Image img=Activator.getImage(path);

}
......

}


4.如果想把这个图放在CLabel里。最好这么写。这里我用formLayout.

Image img=Activator.getImage(imgPath.toString());
        CLabel icon = new CLabel(headComposite, SWT.NONE);
        icon.setBackground(img);
        final FormData iconFormData = new FormData();
        iconFormData.top = new FormAttachment(LAYOUT.ZERO_PERCENT, LAYOUT.MARGIN_TOP_COMPOSITE);
        iconFormData.left = new FormAttachment(LAYOUT.ZERO_PERCENT, LAYOUT.MARGIN_LEFT_COMPOSITE);
        iconFormData.width=img.getBounds().width;
        iconFormData.height=img.getBounds().height;
        icon.setLayoutData(iconFormData);


这样的图大小工整。
分享到:
评论

相关推荐

    RCP 产品介绍图片

    【RCP产品介绍图片】是针对RCP(Rich Client Platform)技术的一种视觉呈现方式,它通过图像化的形式向用户展示了RCP平台的核心特性和应用场景。RCP是Eclipse基金会推出的一种构建桌面应用的框架,其全称为富客户端...

    Eclipse RCP 初级入门教程

    Eclipse RCP使用统一的资源管理系统,允许开发者以国际化和本地化的方式管理文本、图片和其他资源。 **9. 性能优化** 为了确保RCP应用的性能,需要考虑内存管理和线程管理,合理使用事件模型,以及避免不必要的计算...

    RCP常用方法,RCP常用方法

    2. **替换默认图片**:将这张图片复制到项目的资源文件夹中,并将其命名为`splash.bmp`,以此来替换原有的默认闪屏画面文件。 #### 二、禁用窗口状态保存 在某些情况下,开发者可能不希望RCP应用程序在退出时保存...

    RCP项目源代码

    - `resources`: 存放图片、配置文件等资源。 - **plugins**:存放各个插件项目。 - **build.properties**:构建配置文件,定义了编译路径和输出路径。 - **MANIFEST.MF**:插件的元数据文件,定义了插件ID、依赖...

    Eclipse RCP Plug-in开发自学教程(Eclipse3.6)

    - 如何在RCP程序中添加和管理系统托盘图标及其交互。 5. **视图** - **添加示例视图**:创建基本的视图,并将其添加到RCP应用程序中。 - **添加自定义视图**:指导创建和集成自定义视图到RCP环境中。 - **向...

    ECLIPSE RCP项目源程序

    这个压缩包中的“ECLIPSE RCP项目源程序”包含了使用Eclipse RCP开发的一个项目的完整源代码,并且有中文注释,这对于初学者或有经验的开发者来说都是一个宝贵的资源。 Eclipse RCP的核心概念主要包括以下几个方面...

    RCP Plug-in开发自学教程(中国Eclipse社区首发)

    3. 非Java资源:如图片、XML配置文件等。 五、插件开发流程 1. 定义插件元数据:在`plugin.xml`中声明插件的组件和服务。 2. 创建视图和编辑器:继承自Eclipse提供的基类,实现自己的业务逻辑。 3. 注册命令和操作...

    通过例子学习Eclipse RCP开发

    - **工作台(Workbench)**:工作台是 Eclipse RCP 应用程序的核心,负责管理视图和编辑器等用户界面元素。 - **视图(Views)**:视图提供了一种展示数据的方式,通常与特定的数据模型相关联。 - **编辑器(Editors...

    EclipseRCP四常用技术基础知识PPT课件.pptx

    一个典型的RCP项目包含Java源代码、系统类库、插件依赖、欢迎文本、描述文件、构建属性、启动图片以及插件配置文件。这些元素共同构成了RCP应用的基础结构,确保了程序的正常运行和用户界面的构建。 3. **RCP基本...

    图书管理系统用SWT做的JAVA图形化界面

    - 资源管理:注意处理好图标、图片等资源的加载和释放,避免内存泄漏。 - 打包与部署:使用如Eclipse IDE的打包工具,可以将项目打包成可执行的JAR文件,方便用户双击运行。 6. 进阶技术 - JFace:JFace是建立在...

    员工出勤管理系统java图形化界面设计借鉴.pdf

    该资源提供了一个基于Java的员工出勤管理系统的图形化界面设计借鉴,包括系统设计目的、功能介绍、程序流程、设计步骤、设计总结等内容。系统具有新用户注册、注册用户登录、员工信息录入、员工出勤信息录入、数据...

    APICloud-Studio-RCP-Mac:APICloud提供的一款开源免费HTML编码工具,方便开发者进行应用的开发和调试,源码详见APICloud-Studio项目。 此为Mac版APICloud Studio的product

    资源管理器则允许开发者轻松管理项目的文件和资源,如图片、音频、样式表等。项目管理功能使得创建、导入和组织多个项目变得简单。内置的模拟器可以实时预览应用效果,而调试器则有助于定位和修复代码中的错误。 ...

    富客户端工作流程

    通过学习这个名为“富客户端工作过程.ppt”的演示文稿,新手可以深入了解富客户端的工作原理,掌握如何使用SmartGWT框架来构建这样的应用,并通过图片效果讲解更好地理解和学习。这种实践导向的学习方法有助于开发者...

    swt&jface api

    10. 资源管理:讲解如何管理和释放应用程序使用的资源,如图片、字体等。 通过深入学习和理解SWT和JFace API,开发者可以构建出功能强大且用户友好的Java桌面应用程序。这个.chm文档应该包含详细的API参考、示例...

    eclipse swt

    这个目录可能包含了“关于”对话框中显示的各种图片、文本和其他资源。在Eclipse插件或应用中,"关于"对话框通常会显示项目图标、版权信息和其他图形元素。 综上所述,Eclipse SWT是一个强大的GUI工具包,提供了...

    很好的学习小软件

    如果是资源文件夹,可能包含图片、字体、布局描述文件等;如果是配置文件,可能记录了应用的设置、数据库连接信息等。 总结来说,这个压缩包可能包含了一个基于SWT和Eclipse RCP开发的初版学习软件。开发者希望借此...

    yoyoplayer播放器源码.zip

    `pic`目录可能包含了播放器界面的图片资源,而`Thumbs.db`文件是Windows系统用于存储缩略图信息的数据库,通常出现在包含图片的文件夹中。这暗示了YOYOPlayer可能具有显示专辑封面或相关图片的功能。 `...

    在eclipse4中创建fragment

    - **资源和本地化**:Fragment可以拥有自己的资源文件(如图片、文本文件)和本地化字符串。这些可以通过“Resources”和“Localization”选项卡进行管理。 - **扩展点和贡献**:Fragment可以利用Eclipse的扩展点...

    swt 监控代码资料

    1. SWT基本概念:SWT是一个跨平台的GUI库,它通过使用本地系统资源来提供更接近原生应用的用户体验。与Java Swing不同,SWT不使用抽象窗口工具包(AWT),而是直接与操作系统API交互。 2. SWT组件:SWT包含一系列的...

Global site tag (gtag.js) - Google Analytics