2016-09-02 9 views
1

で正確にfireContentsChanged()メソッドを使用しますか?このメソッドは、ListModelの要素のうちの「内容」が変更されたときに呼び出されます。java.swing.AbstractListModelで "fireContentsChanged"メソッドをどのくらい正確に使用しますか?

  1. これは、インデックスのオブジェクトが何らかの形で変更されたことを意味しますか?
  2. また、インデックスのオブジェクトが別のオブジェクトで置き換えられたときも含まれますか?
  3. 追加/削除されたインデックスにこれを使用できますか?たとえば、リストのどこからでも10個のランダムな要素を削除するとします。どのようなindex0index1私は何を与えるのですか?ランダムな場所に10個の要素を挿入するとどうなりますか?

答えて

2

AbstractListModelListDataListener方法の具体的な実装を提供ListModelの抽象実装であるが、それは内部的には特定のデータ構造が含まれていません。対応するListDataEventを受信すると、ListModelの変更に応答して、リスニングがそれ自体を更新することができます。 DefaultListModelは、内部でVectorを操作するAbstractListModelの典型的な具象サブクラスです。 sourceには、一般的な使用法が示されています。具体的には、fireContentsChanged()は、リストの内容が変更されたときに、以前の方法では特性が複雑すぎる場合に送信されます。またはfireIntervalRemoved()です。 Vectorは元DefaultTableModellegacyであるため、より柔軟な代替方法を使用することをお勧めします。 index0およびindex1は、選択したデータ構造の要素を表します。

ランダムな場所に10個の要素を挿入するとどうなりますか?

その後index0index1"bracket the change."

は "変更は、ブラケット" とはどういう意味でしょうか?

この文脈では、ブラケットは、囲みまたは含む動詞として使用されます。 index0には最も低い変更インデックスが含まれ、index1には最も高い変更インデックスが含まれている必要があります。範囲には、変更されていないにもかかわらず、介在するセルが含まれる場合があります。幸いなことに、JTableのように、JListと表示され、のセルしか表示されないため、限界費用は制限されます。 more here

+0

「変更を囲む」とはどういう意味ですか? –

+0

私は上記で詳しく述べました。 – trashgod

+0

説明してくれてありがとう、私は今それを得ると思います。モデルに20個の要素があり、ランダムな要素を削除した場合、私は(0,19)発火します。ランダムに5つの要素を追加すると、私は(0、24)発射します。あれは正しいですか? –

関連する問題