Vaadin调用通过另一个组件创建一个组件

Vaadin调用通过另一个组件创建一个组件,vaadin,custom-component,Vaadin,Custom Component,我有一个带有文本字段和按钮的自定义组件,我想单击(按钮的),从文本字段获取文本,然后调用另一个组件 调用mainLayout.addComponent(新的A(textField.getValue());时出现的错误是 java.lang.IllegalStateException:Composition root必须在com.example.vaadpro之前设置为非空值,正如异常所述,您必须为CustomComponent调用setCompositionRoot: public class

我有一个带有
文本字段
按钮
的自定义组件,我想
单击(按钮的)
,从
文本字段
获取文本,然后调用另一个组件

调用
mainLayout.addComponent(新的A(textField.getValue());
时出现的错误是
java.lang.IllegalStateException:
Composition root必须在
com.example.vaadpro

之前设置为非空值,正如异常所述,您必须为CustomComponent调用setCompositionRoot:

public class A extends CustomComponent {

  HorizontalLayout layout = new new HorizontalLayout(); 

  public A() {
    layout.add(new Label("Hello world!"));
    layout.add(new Button("Click me!"));

    setCompositionRoot(layout); // This is needed!
   }
}