【发布时间】:2017-07-26 09:14:23
【问题描述】:
当我的应用程序启动时,其中一个部分尚不可见。当我使用处理程序发送数据,然后打开部件时,我无法在部件创建时获取此数据。如果我在启动应用程序时单击部件,然后再次使用处理程序,部件现在将接收数据。那么如何让一个部件在它还不可见或创建时接收数据。如何获取之前发送的数据。
【问题讨论】:
标签: java eclipse events rcp e4
当我的应用程序启动时,其中一个部分尚不可见。当我使用处理程序发送数据,然后打开部件时,我无法在部件创建时获取此数据。如果我在启动应用程序时单击部件,然后再次使用处理程序,部件现在将接收数据。那么如何让一个部件在它还不可见或创建时接收数据。如何获取之前发送的数据。
【问题讨论】:
标签: java eclipse events rcp e4
IEventBroker 不保留其广播的数据。
部件的类在它可见(渲染得更准确)之前不会创建 - 您必须将内容存储在其他地方。
您可以使用某种“管理器”类来保存数据。您的处理程序可以将数据放在管理器中,并且部件可以从管理器中检索它。
管理器的一种方法是使用可创建的单例:
@Creatable
@Singleton
public class MyMananger
{
...
}
这可以注入到处理程序和部件中,您将始终获得管理器的相同单个实例。
【讨论】: