Паттерн: Посредник (Mediator)
Исходник: ListBox.java, язык: java [code #510, hits: 6455]
автор: this [добавлен: 05.10.2007]
  1. package mediator;
  2.  
  3. import java.awt.event.MouseEvent;
  4. import java.util.List;
  5.  
  6. public class ListBox extends Widget {
  7.  
  8. public ListBox(DialogDirector director) {
  9. super(director);
  10. }
  11.  
  12. public String GetSelected() {
  13. String selectedItem = null;
  14.  
  15. /* Выборка текущего выделенного элемента
  16. * .....
  17. * */
  18.  
  19. return selectedItem;
  20. }
  21.  
  22. public void SetList(List<String> contents) {
  23. /* Задание элемента списка
  24. * ......
  25. * */
  26. }
  27.  
  28. public void HandleMouse(MouseEvent event) {
  29. /* Обрабатываем события мыши: клики, перетаскивание,
  30. * двойной щелчок и т.д.
  31. * ....
  32. * Если двойной клик, т.е. выбор елемента, то
  33. * оповещаем об этом посредника
  34. * ...
  35. * */
  36. if (event.getClickCount() > 1) {
  37. Changed();
  38. }
  39. }
  40.  
  41. }
Сущность Colleague

Реализация элемента списка.
Тестировалось на: java 1.5.0_04

+добавить реализацию