Guest User

Untitled

a guest
Dec 11th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. //определяем функциональный интерфейс:
  2.  
  3. package sample;
  4. public interface EventListener {
  5. void dispatch(String s);
  6. }
  7.  
  8. // прописываем лямбда выражение
  9.  
  10. EventListener listener = e -> {
  11. if (e.equals(snake.CHANGE_IS_LIVE)) // будем проверять типы событий
  12. System.out.println("new event: " + e); // логика ...
  13. };
  14.  
  15. snake.setListener(listener); // устанавливаем слушатель на дочерний объект
  16.  
  17. // на пока просто константы, можно сделать перечисление ENUM (типы событий)
  18. String CHANGE_IS_LIVE = "[change is live]";
  19. String CHANGE_IS_MOVE = "[change is move]";
  20.  
  21. private EventListener listener; // ссылка на обработчик
  22.  
  23. public void setListener(EventListener l) {
  24. this.listener = l;
  25. }
  26.  
  27. public void dispatch() {
  28. listener.dispatch(CHANGE_IS_LIVE); // собственно создаем событие <-
  29. }
Add Comment
Please, Sign In to add comment