- 既知のすべての実装クラス:
- DefaultTreeSelectionModel,- JTree.EmptySelectionModel
public interface TreeSelectionModel
 ツリー選択の状況はTreePathの設定、またオプションで整数設定によって識別されます。 TreePathから整数へはRowMapperのインスタンスによりマッピングされます。 TreeSelectionModelがRowMapperを正しく操作する必要はなく、RowMapperがない場合はgetSelectionRowsはnullを返します。 
 
 TreeSelectionModelは単一パス(SINGLE_TREE_SELECTION)、複数の連続パス(CONTIGUOUS_TREE_SELECTION)、複数の不連続パス(DISCONTIGUOUS_TREE_SELECTION)が使用できるように設定できます。 RowMapperを使用してTreePathが連続しているかどうかを判定します。 RowMapperがない場合は、CONTIGUOUS_TREE_SELECTIONおよびDISCONTIGUOUS_TREE_SELECTIONは同じように動作し、TreeSelectionModelにはパスをいくつでも格納できることになります。 
 
 CONTIGUOUS_TREE_SELECTIONの選択モデルは、いつでもパスは変更でき(setSelectionPath、addSelectionPath ... により)、TreePathを再度判定して連続にすることもできます。 resetRowSelectionを呼び出してTreePathの判定をすることもできます。 非連続TreePathの設定を連続設定にマッピングする方法は、特定のポリシーを適用するためにこのインタフェースの実装者に一任されています。 
 
実装にあたっては、選択範囲に追加された重複するTreePathを結合する必要があります。 たとえば、次のコードを実行したとします
   TreePath[] paths = new TreePath[] { treePath, treePath };
   treeSelectionModel.setSelectionPaths(paths);
 
 1つのパスtreePathのみが選択されるようにして、treePathのコピーが2つ選択されないようにする必要があります。
 リードTreePathは追加または設定された最後のパスです。 したがって、リード行はRowMapperによって判定されたTreePathに対応する行となります。
- 
フィールドのサマリーフィールド 修飾子と型 フィールド 説明 static intCONTIGUOUS_TREE_SELECTION選択範囲の項目は連続している必要があります。static intDISCONTIGUOUS_TREE_SELECTION選択範囲の項目数に制限はなく、各項目は連続している必要はありません。static intSINGLE_TREE_SELECTION選択範囲には、同時に複数のパスを指定することはできません。
- 
メソッドのサマリー修飾子と型 メソッド 説明 voidaddPropertyChangeListener(PropertyChangeListener listener)PropertyChangeListenerをリスナー・リストに追加します。voidaddSelectionPath(TreePath path)現在の選択範囲にパスを追加します。voidaddSelectionPaths(TreePath[] paths)現在の選択範囲にパスを追加します。voidaddTreeSelectionListener(TreeSelectionListener x)選択されたTreePathの設定が変更されるたびに通知を受けるリスナーのリストにxを追加します。voidclearSelection()現在の選択範囲を空にします。TreePathgetLeadSelectionPath()追加された最後のパスを返します。intgetLeadSelectionRow()選択範囲のリード・インデックスを返します。intgetMaxSelectionRow()選択した現在のTreePathの設定のRowMapperから取得した最大値を返します。intgetMinSelectionRow()選択した現在のTreePathの設定のRowMapperから取得した最小値を返します。RowMappergetRowMapper()TreePathを行にマップできるRowMapperのインスタンスを返します。intgetSelectionCount()選択されているパスの数を返します。intgetSelectionMode()現在の選択モードを返します。これは、SINGLE_TREE_SELECTION、CONTIGUOUS_TREE_SELECTION、またはDISCONTIGUOUS_TREE_SELECTIONのいずれかになります。TreePathgetSelectionPath()選択範囲の先頭のパスを返します。TreePath[]getSelectionPaths()選択範囲のパスを返します。int[]getSelectionRows()現在選択されているすべての行を返します。booleanisPathSelected(TreePath path)パスpathが現在の選択範囲にある場合にtrueを返します。booleanisRowSelected(int row)rowで識別される行が選択されている場合にtrueを返します。booleanisSelectionEmpty()選択範囲が現在空の場合にtrueを返します。voidremovePropertyChangeListener(PropertyChangeListener listener)PropertyChangeListenerをリスナー・リストから削除します。voidremoveSelectionPath(TreePath path)選択範囲からパスを削除します。voidremoveSelectionPaths(TreePath[] paths)選択範囲からパスを削除します。voidremoveTreeSelectionListener(TreeSelectionListener x)選択されたTreePathの設定が変更されるたびに通知を受けるリスナーのリストからxを削除します。voidresetRowSelection()このオブジェクトのTreePathから行へのマッピングを更新します。voidsetRowMapper(RowMapper newMapper)RowMapperのインスタンスを設定します。voidsetSelectionMode(int mode)選択モードを設定します。このモードは、SINGLE_TREE_SELECTION、CONTIGUOUS_TREE_SELECTION、DISCONTIGUOUS_TREE_SELECTIONのどれか1つである必要があります。voidsetSelectionPath(TreePath path)選択範囲をパスに設定します。voidsetSelectionPaths(TreePath[] paths)選択範囲をパスに設定します。
- 
フィールド詳細- 
SINGLE_TREE_SELECTIONstatic final int SINGLE_TREE_SELECTION選択範囲には、同時に複数のパスを指定することはできません。- 関連項目:
- 定数フィールド値
 
- 
CONTIGUOUS_TREE_SELECTIONstatic final int CONTIGUOUS_TREE_SELECTION選択範囲の項目は連続している必要があります。 これが適用されるのは、RowMapperのインスタンスが提供される場合だけです。 したがって、RowMapperが設定されていないとDISCONTIGUOUS_TREE_SELECTIONと同じ動作をします。- 関連項目:
- 定数フィールド値
 
- 
DISCONTIGUOUS_TREE_SELECTIONstatic final int DISCONTIGUOUS_TREE_SELECTION選択範囲の項目数に制限はなく、各項目は連続している必要はありません。- 関連項目:
- 定数フィールド値
 
 
- 
- 
メソッドの詳細- 
setSelectionModevoid setSelectionMode(int mode)選択モードを設定します。このモードは、SINGLE_TREE_SELECTION、CONTIGUOUS_TREE_SELECTION、DISCONTIGUOUS_TREE_SELECTIONのどれか1つである必要があります。現在の選択範囲が新しいモードに対して有効でない場合、選択範囲は変更されます。 たとえば、3つのTreePathが選択された状態でモードを SINGLE_TREE_SELECTIONに変更した場合、一つのTreePathの選択だけが残ります。 どのTreePathが選択されたままになるかは使用する特定の実装によって決まります。- パラメータ:
- mode- 設定モードを選択
 
- 
getSelectionModeint getSelectionMode()現在の選択モードを返します。これは、SINGLE_TREE_SELECTION、CONTIGUOUS_TREE_SELECTION、またはDISCONTIGUOUS_TREE_SELECTIONのいずれかになります。- 戻り値:
- 現在の選択モード
 
- 
setSelectionPathvoid setSelectionPath(TreePath path)選択範囲をパスに設定します。 これが変更を表す場合は、TreeSelectionListenersが通知を受けます。pathがnullの場合はclearSelectionを呼び出した場合と同じ効果があります。- パラメータ:
- path- 選択する新しいパス
 
- 
setSelectionPathsvoid setSelectionPaths(TreePath[] paths)選択範囲をパスに設定します。 これが変更を表す場合は、TreeSelectionListenersが通知を受けます。pathsがnullの場合はclearSelectionを呼び出した場合と同じ効果があります。- パラメータ:
- paths- 新しい選択範囲
 
- 
addSelectionPathvoid addSelectionPath(TreePath path)現在の選択範囲にパスを追加します。 現在パスが選択範囲にない場合は、TreeSelectionListenersが通知を受けます。pathがnullの場合は影響はありません。- パラメータ:
- path- 現在の選択範囲に追加する新しいパス
 
- 
addSelectionPathsvoid addSelectionPaths(TreePath[] paths)現在の選択範囲にパスを追加します。 paths内のパスが現在、選択範囲内にない場合、TreeSelectionListenersが通知を受けます。pathsがnullの場合は影響はありません。- パラメータ:
- paths- 現在の選択範囲に追加する新しいパス
 
- 
removeSelectionPathvoid removeSelectionPath(TreePath path)選択範囲からパスを削除します。 パスが選択範囲にある場合は、TreeSelectionListenersが通知を受けます。pathがnullの場合は影響はありません。- パラメータ:
- path- 選択範囲から削除するパス
 
- 
removeSelectionPathsvoid removeSelectionPaths(TreePath[] paths)選択範囲からパスを削除します。paths内のパスのいずれかが選択範囲にある場合は、TreeSelectionListenersが通知を受けます。pathsがnullの場合、このメソッドは影響を受けません。- パラメータ:
- paths- 選択範囲から削除するパス
 
- 
getSelectionPathTreePath getSelectionPath()選択範囲の先頭のパスを返します。 先頭のパスの定義は実装者に任されており、必ずしもRowMapperが判定した最小整数値を持つTreePathである必要はありません。- 戻り値:
- 選択範囲内の最初のパス
 
- 
getSelectionPathsTreePath[] getSelectionPaths()選択範囲のパスを返します。 現在何も選択されていない場合は、nullまたは空の配列を返します。- 戻り値:
- 選択内のパス
 
- 
getSelectionCountint getSelectionCount()選択されているパスの数を返します。- 戻り値:
- 選択されたパスの数
 
- 
isPathSelectedboolean isPathSelected(TreePath path)パスpathが現在の選択範囲にある場合にtrueを返します。- パラメータ:
- path- lokするパス
- 戻り値:
- pathが現在の選択にあるかどうか
 
- 
isSelectionEmptyboolean isSelectionEmpty()選択範囲が現在空の場合にtrueを返します。- 戻り値:
- 選択が現在空であるかどうか
 
- 
clearSelectionvoid clearSelection()現在の選択範囲を空にします。 これが現在の選択範囲の変更を表す場合は、選択リスナーが通知を受けます。
- 
setRowMappervoid setRowMapper(RowMapper newMapper)RowMapperのインスタンスを設定します。 このインスタンスを使うことによって、どの行がどのTreePathに対応するかを判定します。- パラメータ:
- newMapper- 設定されるRowMapper
 
- 
getRowMapperRowMapper getRowMapper()TreePathを行にマップできるRowMapperのインスタンスを返します。- 戻り値:
- TreePathを行にマップできるRowMapperインスタンス
 
- 
getSelectionRowsint[] getSelectionRows()現在選択されているすべての行を返します。 TreePathが選択されていない場合、またはRowMapperが設定されていない場合は、nullまたは空の配列を返します。- 戻り値:
- 現在選択されているすべての行
 
- 
getMinSelectionRowint getMinSelectionRow()選択した現在のTreePathの設定のRowMapperから取得した最小値を返します。 何も選択されていない場合、またはRowMapperがない場合は、-1を返します。- 戻り値:
- 選択されたTreePathの現在のセットのRowMapperから取得された最小の値
 
- 
getMaxSelectionRowint getMaxSelectionRow()選択した現在のTreePathの設定のRowMapperから取得した最大値を返します。 何も選択されていない場合、またはRowMapperがない場合は、-1を返します。- 戻り値:
- 選択されたTreePathの現在のセットのRowMapperから取得された最大値
 
- 
isRowSelectedboolean isRowSelected(int row)rowで識別される行が選択されている場合にtrueを返します。- パラメータ:
- row- チェックする行
- 戻り値:
- 行が選択されているかどうか
 
- 
resetRowSelectionvoid resetRowSelection()このオブジェクトのTreePathから行へのマッピングを更新します。 このメソッドは、たとえば、ノードが拡張された場合のようにTreePathから整数へのマッピングが変更されたときに呼び出されます。通常は呼び出す必要はありません。JTreeとそれに関連するリスナーが呼び出します。 独自のビュー・クラスを実装中の場合は自分で呼び出す必要があります。 
- 
getLeadSelectionRowint getLeadSelectionRow()選択範囲のリード・インデックスを返します。 これは、最後に追加されたインデックスです。- 戻り値:
- リード選択インデックス
 
- 
getLeadSelectionPathTreePath getLeadSelectionPath()追加された最後のパスを返します。 このパスはJTreeが保持しているleadSelectionPathのプロパティとは異なる場合があります。- 戻り値:
- 追加された最後のパス
 
- 
addPropertyChangeListenervoid addPropertyChangeListener(PropertyChangeListener listener)PropertyChangeListenerをリスナー・リストに追加します。 リスナーは、すべてのプロパティに対して登録されます。PropertyChangeEventは、選択範囲モードが変更されるとトリガーされます。 - パラメータ:
- listener- 追加されるPropertyChangeListener
 
- 
removePropertyChangeListenervoid removePropertyChangeListener(PropertyChangeListener listener)PropertyChangeListenerをリスナー・リストから削除します。 すべてのプロパティで登録されたPropertyChangeListenerを削除します。- パラメータ:
- listener- 削除されるPropertyChangeListener
 
- 
addTreeSelectionListenervoid addTreeSelectionListener(TreeSelectionListener x)選択されたTreePathの設定が変更されるたびに通知を受けるリスナーのリストにxを追加します。- パラメータ:
- x- 追加される新しいリスナー
 
- 
removeTreeSelectionListenervoid removeTreeSelectionListener(TreeSelectionListener x)選択されたTreePathの設定が変更されるたびに通知を受けるリスナーのリストからxを削除します。- パラメータ:
- x- 削除するリスナー
 
 
-