私のエディターには、LayersManagerとLayersViewクラスがあります。LayersManager クラスは、ユーザーが現在使用しているすべてのレイヤーを保持します (Photoshop レイヤーと考えてください)。LayersView は、LayersManager に含まれるレイヤーを一覧表示する JPanel です。
私がしたいのは、LayersManager から add(Layer) または remove(Layer) メソッドが呼び出されるたびに、JPanel のコンテナから LayerComponent を追加または削除して、LayersView JPanel を更新することです。
言い換えれば、私が欲しいのは、LayersManager で変更が行われるたびに、LayersView が自動的に接続され、コンテナから LayerComponent を追加または削除し、それ自体を無効にするリバース ChangeListener です。
私の質問は次のとおりです。これを行うための標準の組み込みリスナーはありますか? リスナーは正しい道ですか?または、LayersManager 内に LayersView への参照を含めて、必要なメソッドを手動で呼び出す必要があります (これは設計が悪いと思われます)。独自のリスナーを実装するための優れた (設計上の) 方法が思い浮かびません。
どんな助けでも大歓迎です!