Научиться пользоваться Swing очень просто.Научиться эффективно использовать Swing не так просто.Это одна из тех злых проблем , когда сначала нужно ошибиться несколько раз.
Тем не менее, две из наиболее важных концепций, которые я бы порекомендовал, это правильное использование API действий и Параллельный Swing .Правильное использование Action API позволит вам сохранять код контроллера модульным, определяя действия, которые можно связать с любым количеством визуальных компонентов.Например, вы можете связать одно и то же действие с элементом меню, кнопкой или сочетанием клавиш.Использование трюков с параллелизмом, таких как SwingWorker, позволяет выполнять длительные задачи без зависания пользовательского интерфейса и без необходимости заново изобретать колесо или вручную манипулировать различными рабочими потоками.
Еще один общий совет, который я бы дал, - изучитьна Model-View-Controller, как предлагали другие авторы (хотя технически Swing объединяет View и Controller вместе).Создайте модели, которые представляют данные, которые вы хотите, чтобы пользователь мог манипулировать, и используете ваши собственные пользовательские события и слушателей для передачи этой информации в представление.Другими словами, не бойтесь переопределить EventObject
для представления различных изменений в состоянии вашего приложения.Это также позволяет вам иметь один объект модели (в вашем случае, возможно, список контактов), в который вы можете подключить различные виды без изменения базовой структуры.
О, и еще один кусочек пуха -если ваши действия не требуют повторного использования, хороший анонимный внутренний класс, производный от ActionListener, более удобочитаем, чем сам класс представления ActionListener.Каждый раз, когда я вижу component.addActionListener(this)
, я вздрагиваю.
Все это, как говорится, лучший способ учиться, это делать, поэтому продолжайте экспериментировать и выясните, какие стратегии работают для вас.