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添加背景图片

先看看效果:                      实现的关键代码:          1:如果是Dialog         Image img = Activator.getImageDesc...
  • zhutouhexiaona
  • zhutouhexiaona
  • 2014年02月23日 18:32
  • 1393

Swing之图片移动实例

1 package com.szsm.swing.framepanel; import java.awt.Container; import java.awt.Graphics; import j...
  • jintianhen1
  • jintianhen1
  • 2013年09月14日 08:27
  • 841

Eclipse RCP程序更改原始图标

Eclipse RCP程序更改原始图标问题Eclipsercp程序导出来后,初始图标是 要换成自己的图标。 解决方法   这6幅 bmp图片可以这样做:找个48*48的8bitbmp图片用photos...
  • gaolingep
  • gaolingep
  • 2009年05月21日 15:17
  • 4553

rcp 界面刷新

最近有不少的事情,没有坚持写博客,今晚心还是没有静下来,不过还是把一些这段时间的工作和学习的经验写下来与大家分享。 最近在使用eclipse的rcp作为平台在做一些工具类的应用。其中有一些就...
  • chenghaiming227
  • chenghaiming227
  • 2012年05月23日 22:33
  • 1438

像WEB一样的树形导航RCP (转)

像WEB一样的树形导航RCP,废话不说,先看效果图。 点击不同的树节点可以动态切换右边的view,界面切换是一瞬间的,不闪。上代码:Perspectivepackage org.hermit.pojo...
  • soundyrose
  • soundyrose
  • 2010年05月19日 19:05
  • 2614

RCP添加帮助插件

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

让RCP程序自动加载新插件

http://blog.csdn.net/xiaofenguser/article/details/727454 用eclipse开发的RCP应用程序默认是不能自动加载新插件的,加一个插件到RCP系...
  • likunwen_001
  • likunwen_001
  • 2014年03月04日 11:03
  • 985

RCP程序中集成其他插件的配置方法

RCP程序中集成其他插件的配置方法这篇文章对应的版本是3.2和3.3; 3.4以上的版本由于引入了p2,插件列表和方式都发生了较大的改变,请注意。应wangx.h网友的要求, 在这里把我配置RCP程序...
  • dollyn
  • dollyn
  • 2007年05月01日 15:50
  • 2792

louts将一个RTF域显示在视图中

Notes是不允许把RTF(Rich Text Field)中的信息直接显示在视图中的列里。那么,有没有变通的办法可以实现呢? 解答: 使用 @Abstract,就可以把RTF(R...
  • liuchang__
  • liuchang__
  • 2017年01月19日 11:29
  • 417

RCP产品自动加载plugins下面插件方法

config.ini中配置为:osgi.bundles=org.eclipse.equinox.common@2:start,org.eclipse.update.configurator@3:sta...
  • ll413343176
  • ll413343176
  • 2014年05月15日 09:39
  • 1077
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:RCP 插件动态刷新视图中的图片
举报原因:
原因补充:

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