2016-01-09 3 views
2

Я пытаюсь создать CustomComponent в Vaadin 7. Компонент имеет VerticalLayout набор в методе setCompositionRoot() и некоторые наклейки и другие макеты установлены в пределах этого VerticalLayout. Реализация моего пользовательского компонента в главном классе зрения, я хотел бы быть в состоянии обрабатывать клики на мой пользовательский компонент, то есть VerticalLayout как состав корневого элемента:Создание слушателя для CustomComponent в Vaadin

MyCustomComponent component = new MyCustomComponent(); 
component.addOnClickListener(listener); 

Но нет никакого способа, как addOnClickListener доступны. Как я могу реализовать эту функциональность? Я знаю, что я могу обрабатывать щелчок по макету с помощью LayoutClickListener в пользовательском компоненте, но есть также способ, которым я могу установить прослушиватель, где объявлен компонент, например. в основном классе представления (аналогично фрагменту кода выше)?

ответ

1

Создайте свой собственный метод, как вы назвали 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); 
} 
+0

Спасибо. Не знаю, почему я не мог понять это сам. – Huber

+0

иногда нам нужен какой-то намек;) – Nebras