アプリが些細なものであれば、バインディングを行うか、リスナーを 1 つずつ作成するかは問題ではありません。
アプリが何ヶ月も進歩した場合、事後にバインドを導入すると、多少の苦痛が生じます。ほとんどすべての (役立つ) テクノロジーについても同じことが言えます。痛みの大部分は、以前は当然のことと思っていた混乱から生じる可能性があります。
バインディングを正しく使用すると、GUI と GUI の動作を完全に分離できる場合があります。これはつまり
- Swing なし、EDT なし、単純な単体テストのみで、プレゼンテーション モデル(コンポーネントをバインドするもの) をテストできます。
- 非常に少数のSwingコンポーネントのみを含む単純なテストでバインディングをテストできます
バインディング フレームワークなしで同じことを達成しようとすると、独自のバインディング フレームワークを作成することになります。
私見ですが、Java の世界でのバインディングについては深刻な問題があります。PropertyChangeSupport を使用して getter + setter を作成する必要があり、面倒でエラーが発生しやすくなります。Java でこれを修正する現実的な方法は見当たりませんが、他の言語 (Scala を考えてください) はここで興味深い機会を提供します。興味がある場合は、私の最後のブログ記事を参照してください: http://blog.schauderhaft.de/2011/05/01/binding-scala-objects-to-swing-components/