当我的应用程序启动时,其中一个部分还不可见。当我使用处理程序发送数据,然后打开部件时,在部件创建时获取此数据时遇到问题。如果我在启动应用程序时单击该部件,然后再次使用处理程序,该部件现在将接收数据。那么,当零件还不可见或创建时,如何让零件接收数据呢?如何获取之前发送的数据。
最佳答案
IEventBroker 不保留其广播的数据。
部件的类在可见(渲染得更准确)之前不会创建 - 您必须将内容存储在其他地方。
您可以使用某种“管理器”类来保存数据。您的处理程序可以将数据放入管理器中,并且该部件可以从管理器中检索数据。
创建管理器的一种方法是使用可创建的单例:
@Creatable
@Singleton
public class MyMananger
{
...
}
这可以注入(inject)到处理程序和部件中,并且您将始终获得管理器的相同单个实例。
关于java - Eclipse E4 RCP - 创建部件后获取 IEventBroker 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45322498/