在 Vaadin 中为 CustomComponent 创建监听器
Create listener for CustomComponent in Vaadin
我正在尝试在 vaadin 7 中创建一个 CustomComponent
。该组件在其 setCompositionRoot()
方法中设置了 VerticalLayout
,并且在其中设置了一些标签和其他布局 VerticalLayout
。在主视图中实现我的自定义组件 class 我希望能够处理对我的自定义组件的点击,这意味着 VerticalLayout
作为组合根元素:
MyCustomComponent component = new MyCustomComponent();
component.addOnClickListener(listener);
但是没有像addOnClickListener
这样的方法可用。我该如何实现该功能?我知道我可以在自定义组件中使用 LayoutClickListener
处理布局上的点击,但是还有一种方法可以设置侦听器,其中声明了组件,例如在主视图中 class(类似于上面的代码片段)?
像您命名的 addOnClickListener 一样创建您自己的方法,该方法将 LayoutClickListener 作为参数。在 addOnClickListener 的实现中,您将侦听器添加到布局中。示例:
component.addOnClickListener(new LayoutClickListener() {
@Override
public void layoutClick(LayoutClickEvent event) {
// TODO Auto-generated method stub
}
});
和component.addOnClickListener的执行:
public void addOnClickListener(LayoutClickListener listener){
yourVerticalLayout.addLayoutClickListener(listener);
}
我正在尝试在 vaadin 7 中创建一个 CustomComponent
。该组件在其 setCompositionRoot()
方法中设置了 VerticalLayout
,并且在其中设置了一些标签和其他布局 VerticalLayout
。在主视图中实现我的自定义组件 class 我希望能够处理对我的自定义组件的点击,这意味着 VerticalLayout
作为组合根元素:
MyCustomComponent component = new MyCustomComponent();
component.addOnClickListener(listener);
但是没有像addOnClickListener
这样的方法可用。我该如何实现该功能?我知道我可以在自定义组件中使用 LayoutClickListener
处理布局上的点击,但是还有一种方法可以设置侦听器,其中声明了组件,例如在主视图中 class(类似于上面的代码片段)?
像您命名的 addOnClickListener 一样创建您自己的方法,该方法将 LayoutClickListener 作为参数。在 addOnClickListener 的实现中,您将侦听器添加到布局中。示例:
component.addOnClickListener(new LayoutClickListener() {
@Override
public void layoutClick(LayoutClickEvent event) {
// TODO Auto-generated method stub
}
});
和component.addOnClickListener的执行:
public void addOnClickListener(LayoutClickListener listener){
yourVerticalLayout.addLayoutClickListener(listener);
}