Vaadin 如何从另一个用户界面调用一个用户界面的方法,而无需初始化和使方法保持静态。-瓦丁14

Vaadin 如何从另一个用户界面调用一个用户界面的方法,而无需初始化和使方法保持静态。-瓦丁14,vaadin,Vaadin,我们如何从SecondUI.Java调用FirstUI.Java方法而不初始化FirstUI.Java类,也不使FirstUI的方法保持静态 Java有多个选项卡按钮,需要根据方法(在FirstUI.Java中定义)隐藏和显示这些按钮 SecondUI.java获取FirstUI.java中的垂直布局中的负载。并通过调用SecondUI.java的构造函数添加到垂直布局中 如果我使用FirstUI.Java的方法static来启用/禁用制表符按钮,那么我们必须使制表符也是静态的(在我的例子中就是

我们如何从SecondUI.Java调用FirstUI.Java方法而不初始化FirstUI.Java类,也不使FirstUI的方法保持静态

  • Java有多个选项卡按钮,需要根据方法(在FirstUI.Java中定义)隐藏和显示这些按钮
  • SecondUI.java获取FirstUI.java中的垂直布局中的负载。并通过调用SecondUI.java的构造函数添加到垂直布局中
  • 如果我使用FirstUI.Java的方法static来启用/禁用制表符按钮,那么我们必须使制表符也是静态的(在我的例子中就是这样)。整个应用程序开始产生问题
  • 有解决办法吗


    您知道如何从不同的UI调用这些方法而不使它们成为静态的吗?

    您的应用程序需要的是用于UI之间通信的事件总线机制。你试图用错误的方式来实施瓦丁。您最初的问题只是错误实现的副作用

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


    -这似乎很复杂。为什么不在某个地方有一个构建器来构建您需要的内容,并通过导航事件等进行设置?布局等外部组件的结构共享很快成为PITA。永远不要有静态组件,你计划添加场景图。也请添加代码的重要部分。“呼叫指挥官”听起来很像是在继承遗产。此外,像@Route这样的注释会使它更清楚,这些“UI”是什么,以及正在使用的布局等。谢谢你的回复,1。你有一个建筑工人是什么意思?2.正如我所说,我不是在导航,而是在FirstUI.java的VirticalLayout中加载第二个UI。为此我需要使用Navigate(导航的问题是您不能将POJO作为参数传递,只允许long、string、int,这也是唯一的参数)?我希望您现在理解为什么要使用构造函数。你能帮我了解一下生成器是如何工作的吗?请。请在问题中添加代码。好的,请看一下: