写一个视图,里面放置一个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.youkuaiyun.com/detail/luoww1/9283305