我想做这样的伪代码
MyView v = new MyView(); //yeah, I know i can't do this<br/>
v.setObject(myObject);<br/>
v.show();
我的情况是:我正在使用swtjasperviewer
要显示我的报告,我必须在此 jasperviewer 中实例化报告,如果报告没有页面,则 View 将保持打开状态...
我想使用命令打开 View ,并将报表传递给 View ,这样我就可以使用通用 View 。
非常感谢
最佳答案
基本上有两种方法可以做到这一点:
如果该对象在某种程度上与另一个 View 或编辑器的选择相关,那么您可以编写一个 SelectionListener 来获取当前选择,然后使用以下方法设置正确的对象:
getViewSite ().getPage().addSelectionListener(mySelectionListener)
否则,定义一个您的代码和 View 都可以访问的对象(例如使用静态属性、OSGi 服务或 Eclipse 扩展),然后您可以使用该对象来传递信息。您的数据源更新此对象,并且您可以定义 View 可以将其自身注册到的更改监听器/回调。
关于java - 将对象传递给 rcp View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7993530/