Избегайте циклических ссылок в Swing GUI - PullRequest
1 голос
/ 15 марта 2010

Возможно, в этом сценарии не стоит беспокоиться, но допустим, у вас есть два класса, JFrame со всеми его компонентами и серверный класс, который обрабатывает запросы от удаленных клиентов. Пользователь может запускать и останавливать объекты сервера через графический интерфейс, и ему показаны различные события, которые происходят с каждым объектом сервера. Независимо от того, использую ли я явный шаблон (например, MVC), кажется, что JFrame нуждается в ссылке на класс сервера (для вызова start и stop), а серверу нужна ссылка на JFrame (для уведомления об определенных событиях) ,

Это проблема, или я смотрю на эту ситуацию неправильно?

1 Ответ

4 голосов
/ 15 марта 2010

Это звучит как место для применения шаблона Listener. На вашем сервере может быть метод addSomethingListener (слушатель SomethingListener), который JFrame вызывает при реализации SomethingListener. Затем ваш сервер будет вызывать методы слушателя всякий раз, когда происходят соответствующие события.

...