java rcp中lable设置透明_rcp(插件开发)org.eclipse.ui.decorators 使用

org.eclipse.ui.decorators这个扩展点可以为对应的节点添加不同的图标显示。

使用方式都差不多,以下就转载一下使用方式:

1、添加扩展点 org.eclipse.ui.decorators

2、修改plugin.xml

point="org.eclipse.ui.decorators">

id="my.ui.decorator"

label="IFolder Decorator"

state="true"

class="my.ui.decorators.LabelDecorator">

添加扩展点后,xml里有很多属性,为了单独对指定的文件夹起作用,删掉其他属性,并增加class属性;

enablement的意思是对什么起作用,这里是对文件夹IFolder起作用;

3、my.ui.decorators.LabelDecorator类源码

package my.ui.decorators;

import org.eclipse.core.internal.resources.Folder;

import org.eclipse.jface.resource.ImageDescriptor;

import org.eclipse.jface.viewers.ILabelDecorator;

import org.eclipse.jface.viewers.ILabelProviderListener;

import org.eclipse.swt.graphics.Image;

import my.ui.BabaowgtkitUIPlugIn;

/**

* 更改图标

* ClassName:LabelDecorator

*/

@SuppressWarnings({ "restriction", "unused" })

public class LabelDecoratorimplementsILabelDecorator{

/**

*

* (non-Javadoc)

* @see org.eclipse.jface.viewers.ILabelDecorator#decorateImage(org.eclipse.swt.graphics.Image, java.lang.Object)

*/

public Image decorateImage(Image image, Object element) {

//更改src文件夹图标

if (element instanceof Folder

&& ((Folder) element).getName().equals("src")) {

return MyUIPlugIn.getImage("icons/packagefolder_obj.gif");

}

returnnull;

}

public String decorateText(String text, Object element) {

// TODO Auto-generated method stub

return null;

}

public void addListener(ILabelProviderListener listener) {

// TODO Auto-generated method stub

}

public void dispose() {

// TODO Auto-generated method stub

}

public boolean isLabelProperty(Object element, String property) {

// TODO Auto-generated method stub

return false;

}

public void removeListener(ILabelProviderListener listener) {

// TODO Auto-generated method stub

}

}

上面用到了MyUIPlugIn.getImage的方法,下面贴出源码,目的就是取项目目录下的图标文件;

MyUIPlugIn是建立插件项目时自动生成的,继承了 AbstractUIPlugin;

public static ImageDescriptor getImageDescriptor(String path) {

return imageDescriptorFromPlugin(PLUGIN_ID, path);

}

public static Image getImage(String path){

return getImageDescriptor(path).createImage();

}

PLUGIN_ID是插件项目的ID;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值