Class 使用vaadin中其他类的布局

Class 使用vaadin中其他类的布局,class,function,layout,parameter-passing,vaadin,Class,Function,Layout,Parameter Passing,Vaadin,是否有任何想法允许我使用MyApplication.java中声明的来自其他类和函数的布局。 我试着把它们放在参数中,它可以工作,但它变得非常复杂 例如,xhen调用函数X中名为Y的函数时,我必须通过以下参数传递所有布局: X(布局1、布局2、布局3、布局4) { Y(a、b、c、布局1、布局2、布局3、布局4) } 我尝试使用一个名为uiHelper的类,但它不起作用您可以看看vaadin的Blackboard插件 从该页: 有时,当您需要通知树中较高位置的组件,在树的深处发生了一些事情时,

是否有任何想法允许我使用MyApplication.java中声明的来自其他类和函数的布局。 我试着把它们放在参数中,它可以工作,但它变得非常复杂 例如,xhen调用函数X中名为Y的函数时,我必须通过以下参数传递所有布局:

X(布局1、布局2、布局3、布局4) { Y(a、b、c、布局1、布局2、布局3、布局4) }


我尝试使用一个名为uiHelper的类,但它不起作用

您可以看看vaadin的Blackboard插件

从该页:

有时,当您需要通知树中较高位置的组件,在树的深处发生了一些事情时,拥有较深的组件层次结构会带来问题。您通常有两种选择之一——要么沿着层次结构向下传递侦听器,从而产生更多耦合的代码,要么让中间的每个组件成为侦听器/通知器,将事件一路传递到备份。使用黑板,您可以注册任何侦听器来侦听任何事件,当该事件被触发时,该事件的所有侦听器都会被触发。这可以保持组件的整洁,并消除不必要的样板代码

例如,您可以创建一个布局更改侦听器布局更改事件
MyApplication然后可以实现LayoutChangeListener,并且在触发LayoutChangeEvent时,您可以更改布局,而无需将其传阅。

是否有代码plezase的示例,因为我创建了所有这些东西,但没有找到要放在上面的内容。您可以在此处找到详细的解释和示例: