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

写一个视图,里面放置一个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



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值