如何从另一个UI调用一个UI的方法而无需初始化并且不使方法静态化 -Vaadin 14

问题描述

如何在不初始化FirstUI.java类且不使FirstUI的方法静态化的情况下从SecondUI.java调用FirstUI.Java方法

  1. FirstUI.Java具有多个选项卡按钮,这些按钮需要根据SecondUI.java(在FirstUI.java中定义)的方法来隐藏和显示
  2. SecondUI.java在FirstUI.Java中存在的VerticalLayout中获取负载。并通过调用SecondUI.java的构造函数将其添加到Vertical布局。
  3. 如果我使FirstUI.Java的方法 static (使选项卡的按钮启用/禁用),我们必须使选项卡也为静态的(这就是我的情况)。整个应用程序开始出现问题。

任何解决方案?

My code can be accessed from here,all the static methods in this classes needed to be accessed by other classes

有没有想法如何从不同的UI调用这些方法而不使它们成为静态的?

解决方法

您的应用需要的是用于UI通信之间的事件总线机制。您正在尝试使用Vaadin错误地实现事情。您最初的问题只是错误实施的副作用。

通过电子邮件回复了您,并提供了其他信息,以解决您应用中的当前问题。

-A