「階層」と呼ばれるオブジェクトがあります。基本的には文字列のリストです。[1 234]。また、FormattedHierarchiesと呼ばれるオブジェクトがあり、ユーザーが表現したい方法で階層のフォーマットされたバージョンを常に保持する必要があります(例:(1-4)または{1,2,3,4})。
私の問題はこれです:
階層が変更されたらすぐにFormattedHierarchyを更新したい(たとえば、階層が[1 2 34]から[123]に変更された場合、FormattedHierarchyは(1-4)から(1-3)に変更されます)。
グーグルはhttp://docs.oracle.com/javase/tutorial/uiswing/events/changelistener.htmlを見つけました が、私の問題はこれです:階層にChangeListenerを実装させたい場合は、メソッド「stateChanged」を実装する必要があります。
タイプ階層は、継承された抽象メソッドChangeListener.stateChanged(ChangeEvent)を実装する必要があります
階層に新しいFormattedHierarchyを作成させることは現実的ではなく、これは優れたクラス設計ではないとも考えています。これは、階層がそのフォーマットを処理するものを実装するためです(間接的な方法ではありますが)。
この問題に対する標準的または巧妙な解決策はありますか?