モジュール java.desktop
パッケージ javax.swing

クラスDefaultRowSorter<M,I>

java.lang.Object
javax.swing.RowSorter<M>
javax.swing.DefaultRowSorter<M,I>
型パラメータ:
M - モデルの型
I - RowFilterに渡される識別子の型
直系の既知のサブクラス:
TableRowSorter

public abstract class DefaultRowSorter<M,I> extends RowSorter<M>
グリッド・ベースのデータ・モデルのソートやフィルタの適用を行うRowSorterの実装です。 作成時やインストール時以外に、RowSorterと直接やりとりする必要はほとんどありません。 JTableRowSorterの具象実装については、TableRowSorterを参照してください。

ソートは、現在のSortKeyに基づいて順番に行われます。 2つのオブジェクトが同等である(列のComparatorが0を返す)場合、次のSortKeyが使用されます。 SortKeyが残っていない、または順序がUNSORTEDの場合、モデル内の行の順序が使用されます。

各列のソートは、setComparatorメソッドをにより指定可能なComparatorによって行われます。 Comparatorが指定されていない場合は、配下のオブジェクト上にtoStringを呼び出した結果に対して、Collator.getInstance()から返されるComparatorが使用されます。 Comparatornullが渡されることはありません。 null値はnull以外の値の前に検出されたものとして処理されます。2つのnull値は同等と見なされます。

引数を、モデルによって提供されるその他の型にキャストするComparatorを指定した場合、データをソートするとClassCastExceptionがスローされます。

DefaultRowSorterは、ソート機能のほかに、行のフィルタ機能も提供します。 フィルタは、setRowFilterメソッドで指定されたRowFilterによって行われます。 フィルタが指定されていない場合、すべての行が含まれます。

デフォルトでは、行はソートされず(モデルと同様)、すべての列がソート可能です。 デフォルトのComparatorは、TableRowSorterのように、サブクラスにドキュメント化されています。

配下のモデルの構造が変化した場合(modelStructureChangedメソッドが呼び出された場合)、列のComparator、現在のソート順序、および各列がソート可能であるかどうかの設定がリセットされ、デフォルト値に戻ります。 デフォルトのComparatorを検出するには、具象実装(たとえば、TableRowSorter)を参照します。 デフォルトではソートは行われず(モデルと同様)、列はソート可能です。

DefaultRowSorterはabstractクラスです。 具象サブクラスは、setModelWrapperを呼び出して、配下のデータへのアクセスを提供する必要があります。 setModelWrapperメソッドは、コンストラクタの呼出し直後に呼び出す必要があります。可能であれば、サブクラスのコンストラクタ内で呼び出します。 ModelWrapperを指定しないで DefaultRowSorterを使用した場合、結果は保証されません。

DefaultRowSorterには2つの正式な型パラメータがあります。 1つめの型パラメータは、DefaultTableModelなど、モデルのクラスに対応しています。 もう1つの型パラメータは、RowFilterに渡される識別子のクラスに対応しています。 型パラメータの詳細は、TableRowSorterRowFilterを参照してください。

導入されたバージョン:
1.6
関連項目: