RCP 插件动态刷新视图中的图片

原创 2015年11月19日 17:23:37

写一个视图,里面放置一个label,设置图片


public class PlotView extends ViewPart {

	public static final String ID = "com.ccnt.miner.view.plot"; //$NON-NLS-1$
	
	private Label label;
	public PlotView() {
		// TODO Auto-generated constructor stub
	}

	@Override
	public void createPartControl(Composite parent) {
		// TODO Auto-generated method stub
		Composite composite = new Composite(parent, SWT.NONE);  // 不带边框
		composite.setLayout(new GridLayout(1, false));
		label = new Label(composite, SWT.FILL);
		label.setImage(Activator.getImage("icons/arrowup.gif"));
		label.setLayoutData(new GridData(GridData.FILL_BOTH));
	}

	@Override
	public void setFocus() {
		// TODO Auto-generated method stub

	}

	public void updateImage(String imagepath)
	{
//		label.setImage(Activator.getImage(imagepath));
		label.setImage(SWTResourceManager.getImage(imagepath));
//		label.setImage(SWTResourceManager.getImage("d://a.png"));//用<span style="font-family: Arial, Helvetica, sans-serif;">SWTResourceManager 可以加载任意路径下的图片如C盘,D盘,</span><span style="font-family: Arial, Helvetica, sans-serif;">Activator只能加载工程下的图片</span><span style="font-family: Arial, Helvetica, sans-serif;">
</span>

	}
}

打开图片的Action操作

//值打开一个plot视图 
		try { 
				IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
				IViewPart vPart =	page.showView(PlotView.ID); 
			    
				((PlotView)vPart).updateImage("d://icons/a.png") ;//调用视图的更新方法,用于更新视图内的表数据    
				
			          
			    } catch (PartInitException e) { 
			      // handle exception 
		   } 

打开多个视图

		//打开多个plot视图
	 try { 
			Random rand = new Random();
			int instanceNum = rand.nextInt(100);
			
			System.out.println("instanceNum:" + instanceNum);
			IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
			IViewPart vPart =	page.showView(PlotView.ID, Integer.toString(instanceNum), IWorkbenchPage.VIEW_ACTIVATE); 
		    
			((PlotView)vPart).updateImage(imgpath) ;//调用视图的更新方法,用于更新视图内的表数据    
			
			instanceNum++; 
		          
	    } catch (PartInitException e) { 
	      // handle exception 
	    } 		
plugin.xml中设置 添加allowMultiple

 <view
            allowMultiple="true"
            class="com.ccnt.miner.view.PlotView"
            id="com.ccnt.miner.view.plot"
            name="Plot"
            restorable="true">
      </view>

SWTResourceManager.jar 包下载:http://download.csdn.net/detail/luoww1/9283305



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

rcp(插件开发)通过代码获取当前选择的视图ID

这个方法挺好的,在大家为未知视图渴望的时候,可以通过此方法实现对视图ID的获取, 进而可以定位插件。 具体如下: import org.eclipse.swt.widgets.Composite...
  • soszou
  • soszou
  • 2012-09-19 17:46
  • 2254

win7 gif 动态图片查看插件

  • 2011-01-18 09:33
  • 709KB
  • 下载

RCP添加帮助插件

开发基于Eclipse开的RCP软件可以直接加入Eclipse的帮助系统,使您的产品更加完善。Eclipse帮助系统提供的良好组织模式以及基于lucene的全文搜索功能。在Eclipse的网站上有一篇...

win 7 GIf动态图片查看插件

  • 2010-07-11 17:43
  • 709KB
  • 下载

eclipse rcp 插件快捷键设置 冲突解决方案

此解决方案来自网络,个人备用  快捷键的数量是有限的,何况Eclipse预定义了为数不少的快捷键,所以你开发的RCP程序自定义的快捷键与Eclipse默认定义出现冲突是寻常情况,这时候如何让...

eclipse 4插件rcp支持Css切换

eclipse 4支持css切换,rcp可以根据自己定义的css进行切换
  • luoww1
  • luoww1
  • 2014-05-30 14:14
  • 2331

JS实现多图片上传,无插件,动态生成标签

多图片的上传,不需要使用插件,使用javascript,jquery即可,动态生成标签,后台是支持5个文件,自己按需要修改就行,jquery库任意版本如果使用live监听事件要用1.8.3以下版本,代...

jQuery Backstretch动态设置背景图片插件

jQuery Backstretch动态设置背景图片插件
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)