0

リスト内のオブジェクトの数量を編集して toString が変更された場合、リストを新しい toString で更新するにはどうすればよいですか?

たとえば、JTree のノードを変更するとき、nodeChanged(node) を使用します。リスト項目を変更するときはどうすればよいですか?

4

2 に答える 2

5

AbstractListModel#fireContentsChangedから延長する場合AbstractListModel

JTree前回の質問と同じ原理です。は、オブジェクトのAbstractListModel内部プロパティがいつ変更されるかを知りません。したがって、変更を加えるときは、オブジェクトが変更されたことを示す特定のメソッドを呼び出す必要があります。リストモデルは、によって受信された正しいイベントを発生させJList、更新/再描画します (呼び出したいものは何でも)。

個人的にListModelは、自己完結型の s を作成することを好みます。たとえば、使用するオブジェクトが変更時にイベントを発生させる場合、これらの変更ListModelをリッスンし、このメソッドを外部から呼び出す代わりに、適切なイベント自体を発生させることができます。

編集

その特定のメソッドが保護されていることに気付いたので、私が提案したようにモデルを作成する必要があり、そのメソッドを外部から呼び出すことはできません (これは良いことです)。

于 2012-04-17T15:23:43.883 に答える
0

List.updateUI() がそれを行いますが、これにはオーバーヘッドがあると言われています。

于 2012-04-17T15:22:20.943 に答える