Java 将对象传递给rcp视图

Java 将对象传递给rcp视图,java,eclipse,eclipse-rcp,Java,Eclipse,Eclipse Rcp,我想做一些类似于这个伪代码的事情 MyView v=newmyview()//是的,我知道我不能这样做 v、 setObject(myObject) v、 show() 我的情况是:我正在使用swtjasperviewer来显示我的报告,我必须在这个jasperviewer中实例化报告,如果报告没有页面,视图将保持打开状态… 我想使用命令打开一个视图,并将报告传递给一个视图,这样,我就可以使用通用视图了。 非常感谢基本上有两种方法可以做到这一点: 如果对象与另一个视图或编辑器的选择有某种关联,则

我想做一些类似于这个伪代码的事情
MyView v=newmyview()//是的,我知道我不能这样做
v、 setObject(myObject)
v、 show()

我的情况是:我正在使用
swtjasperviewer
来显示我的报告,我必须在这个jasperviewer中实例化报告,如果报告没有页面,视图将保持打开状态…
我想使用命令打开一个视图,并将报告传递给一个视图,这样,我就可以使用通用视图了。

非常感谢

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

  • 如果对象与另一个视图或编辑器的选择有某种关联,则可以使用编写SelectionListener来获取当前选择,然后使用以下方法设置正确的对象:
    getViewSite().getPage().addSelectionListener(mySelectionListener)

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


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

  • 如果对象与另一个视图或编辑器的选择有某种关联,则可以使用编写SelectionListener来获取当前选择,然后使用以下方法设置正确的对象:
    getViewSite().getPage().addSelectionListener(mySelectionListener)

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


  • 嘿,谢谢你的帮助。我用过,帮了我很多!嘿,谢谢你的帮助。我用过,帮了我很多!