转自:http://blog.csdn.net/moneyice/archive/2006/04/25/677423.aspx
每个UI程序都离不开图片,一般的Eclipse插件,在一个类中定义了若干静态常量,每一个常量指定一个icon的名字,在程序中用到图片的时候,通过这个常量计算得到图片。Eclipse的插件一般规模较大,图片很多,而且分不同的像素,彩色,灰白等。这样有利于统一的管理和开发人员的沟通。
但并不是每个plugin或者rcp都要用到这么多图片,如果只有很少的图片的话,可以用图片的名字作为key,来存取图片。程序例子如下:
public class ImageShop {
private static ImageRegistry register = new ImageRegistry();
private static Set keys = new HashSet();
static {
initial();
}
public static ImageDescriptor getDescriptor(String key) {
ImageDescriptor image = register.getDescriptor(key);
if (image == null) {
image = ImageDescriptor.getMissingImageDescriptor();
}
return image;
}
public static Image get(String key) {
Image image = register.get(key);
if (image == null) {
image = ImageDescriptor.getMissingImageDescriptor().createImage();
}
return image;
}
public static String[] getImageKey() {
return (String[]) keys.toArray(new String[keys.size()]);
}
private static void initial() {
Bundle bundle = Platform.getBundle(PwdgatePlugin.ID);
URL url = bundle.getEntry("icons");
try {
url = Platform.asLocalURL(url);
} catch (Exception e) {
PwdgatePlugin.log("get root path", e);
}
File file = new File(url.getPath());
File[] images = file.listFiles();
for (int i = 0; i < images.length; i++) {
File f = images[i];
if (!f.isFile()) {
continue;
}
String name = f.getName();
if (!name.endsWith(".gif")) {
continue;
}
String key = name.substring(0, name.indexOf('.'));
URL fullPathString = bundle.getEntry("icons/" + name);
ImageDescriptor des = ImageDescriptor.createFromURL(fullPathString);
register.put(key, des);
keys.add(key);
}
}
}
所有的图片都放在根目录/icons目录下,在系统中如果用到名字为default.gif的图片,只要调用ImageShop.get(“default”)即可;有时在Action中需要用到ImageDescriptor,调用ImageShop. getDescriptor(“default”)就可以取到。
相关推荐
RCP 创建plugin frament project,主要用于创建插件的补丁工程。按要求操作100%成功,主要针对3.7版本
JAVA视频教程(三) - Plugin & RCP开发 http://blog.csdn.net/gonxi/archive/2006/02/12/597312.aspx
Teamcenter软件RCP端右键菜单开发,工具栏菜单开发,代码为plugin.xml的配置。
安装(纱线或npm) 节点版本: > = 12.0.0 版本号: > = 2.0.0 yarn add vite-plugin-svg-icons -D或者npm i vite-plugin-svg-icons -D用法vite.config.ts中的配置插件import viteSvgIcons from 'vite-plugin-svg-...
Teamcenter软件RCP端一、二级主菜单开发,文件菜单下的二级菜单开发,代码为plugin.xml的配置。
Eclipse RCP 开发资料打包下载 目录如下: RCP程序设计.pdf(推荐) Addison.Wesley.Eclipse.Rich.Client.Platform.Designing.Coding.and.Packaging.Java.Applications.Oct.2005.chm Eclipse+RCP入门.pdf example_...
教你怎么用rcp,精通rcp.
教你怎么把rcp程序转成plugin形式的程序。
最新版的notepad++中,64位版也没有插件管理功能了。 下载PluginManager_v1.4.9_x64.zip后,解压,复制plugins文件夹下的“PluginManager.dll”到notepad++安装目录下的plugins文件夹下。重启notepad++即可。
notepad++的插件管理工具PluginManager,有了它可以下载更多的插件,让你的notepad++变成神器
该插件仅仅适用于32位的notepad++。最新版的notepad++中,32...下载PluginManager_v1.4.9_UNI.zip后,解压,复制plugins文件夹下的“PluginManager.dll”到notepad++安装目录下的plugins文件夹下。重启notepad++即可。
maven plugin maven plugin scm 项目管理 构建工具 antmaven plugin maven plugin scm 项目管理 构建工具 ant
您是否熟悉Maven,Gradle或其他任何精美工具中的自动依赖项管理? 您只需定义一个项目描述符,添加一堆依赖项,一切便会“自动地”发生……小菜一碟,是吗? 好吧,但是,对于这些RCP来说“不幸”的人并不是那么...
44 Kubernetes GPU管理与Device Plugin机制.pdf
这是notepad++各种插件管理下载的更新地址,把这个文件“PluginManager_v1.4.11_x64.zip”下载下来之后,压缩包里面有两个文件;然后需要把其中一个PluginManager.dll放到notepad++目录下的plugins文件夹,另一个...
Notepad++ 64位可用的插件管理器 PluginManager 版本v1.4.12
Eclipse RCP plugin 开发快速入门。理论与实践相结合,容易理解。
一个简单的Eclipse RCP 源码示例,非常的简单,一看就明白。 解压后用Eclipse打开,打开plugin.xml文件-概述-启动Eclipse 应用程序,就能运行
Laravel开发-plugin 简单的Laravel插件管理