Я проектирую приложение для обмена сообщениями P2P, используя Swing, и сталкивался с серьезными проблемами, когда речь заходит о организации моего компонента GUI ActionListener s. Каждый Jbutton и JTextfield почти всегда нуждается в своей собственной реализации ActionListener , разработанной, потому что каждый компонент естественным образом оказывает на приложение, чем другие. Моей непосредственной мыслью было просто использовать Lambdas для определения ActionPerformed () для каждого уникального компонента, но это становится еще более проблематичным, потому что лямбдас не может быть передано каким -либо параметрам от вызывающего абонента (насколько я знаю), поскольку у нас нет какого -либо конструктора для использования в качестве прохожих. Короче говоря, я должен выбрать между двумя параметрами:
Создать новый класс реализации ActionListener для каждого компонента, требующего уникальную логику действий, загромождая мою кодовую базу до нелепой степени (но позволяя для параметров, проходящих с помощью конструктора указанного класса/нативно). Компонент, требующая уникальной логики действий, оптимизируя мою кодовую базу, в то же время требуя полного перепроектирования деталей указанной логики из -за потери передачи параметров. < /li>
< /ol>
Я был бы ошеломлен, однако, если эта плохая дорога является реальностью ситуации. Есть ли альтернатива этим плохим вариантам? Может быть, парадигма программирования, которую я полностью упустил из виду?
Подробнее здесь: https://stackoverflow.com/questions/796 ... implementa