2011-11-03 73 views
0

我想做的事情是这样的伪代码
MyView v = new MyView(); //yeah, I know i can't do this
v.setObject(myObject);
v.show();
传递一个对象到RCP视图

我的情况是:我使用swtjasperviewer显示我的报告,我必须初始化这个报告jasperviewer,如果报表中没有页面,就会打开视图...
我想用命令打开视图,并将报告传递给视图,这样,我可以使用通用视图。
非常感谢

回答

3

基本上有两种方法可以做到这一点:

  1. 如果物体以某种方式与另一视图或编辑的选择,那么你可以使用写一个SelectionListener中是得到当前选择,然后使用以下方法设置正确的对象:getViewSite().getPage().addSelectionListener(mySelectionListener)

  2. 否则,定义代码和视图都可以访问的对象(例如,使用静态属性,OSGi服务或Eclipse扩展) ,你可以使用它对象传递信息。您的数据源更新此对象,并且您可以定义视图可以注册自己的更改侦听器/回调。

+0

嘿,谢谢你的帮助。我用[this](http://stackoverflow.com/questions/5003962/passing-parameters-to-the-view),并且帮了我很多! –