resetRowSelection
を呼び出して TreePath の判定をすることもできます。非連続 TreePath の設定を連続設定にマッピングする方法は、特定のポリシーを適用するためにこのインタフェースの実装者に一任されています。
実装にあたっては、選択範囲に追加された重複する TreePath を結合する必要があります。たとえば、次のコードを実行したとします。
TreePath[] paths = new TreePath[] { treePath, treePath };
treeSelectionModel.setSelectionPaths(paths);
1 つのパス treePath
のみが選択されるようにして、treePath
のコピーが 2 つ選択されないようにする必要があります。
リード TreePath は追加または設定された最後のパスです。したがって、リード行は RowMapper によって判定された TreePath に対応する行となります。
SINGLE_TREE_SELECTION
static final int SINGLE_TREE_SELECTION
- 選択範囲には、同時に複数のパスを指定することはできません。
- 関連項目:
- 定数フィールド値
CONTIGUOUS_TREE_SELECTION
static final int CONTIGUOUS_TREE_SELECTION
- 選択範囲の項目は連続している必要があります。これが適用されるのは、RowMapper のインスタンスが提供される場合だけです。したがって、RowMapper が設定されていないと DISCONTIGUOUS_TREE_SELECTION と同じ動作をします。
- 関連項目:
- 定数フィールド値
DISCONTIGUOUS_TREE_SELECTION
static final int DISCONTIGUOUS_TREE_SELECTION
- 選択範囲の項目数に制限はなく、各項目は連続している必要はありません。
- 関連項目:
- 定数フィールド値
setSelectionMode
void setSelectionMode(int mode)
- 選択モードを設定します。このモードは、SINGLE_TREE_SELECTION、CONTIGUOUS_TREE_SELECTION、DISCONTIGUOUS_TREE_SELECTION のどれか一つである必要があります。
現在の選択範囲が新しいモードに対して有効でない場合は選択範囲を変更できます。たとえば、モードが SINGLE_TREE_SELECTION
に変更したときに 3 つの TreePath が選択された場合、一つの TreePath だけを選択できます。どの TreePath を選択するかは使用する特定の実装によって決まります。
getSelectionMode
int getSelectionMode()
- 現在の選択モードを返します。このモデルは、
SINGLE_TREE_SELECTION
、CONTIGUOUS_TREE_SELECTION
、DISCONTIGUOUS_TREE_SELECTION
のどれかになります。
setSelectionPath
void setSelectionPath(TreePath path)
- 選択範囲をパスに設定します。これが変更を表す場合は、TreeSelectionListeners が通知を受けます。
path
が null の場合は clearSelection
を呼び出した場合と同じになります。
- パラメータ:
path
- 選択する新しいパス
setSelectionPaths
void setSelectionPaths(TreePath[] paths)
- 選択範囲をパスに設定します。これが変更を表す場合は、TreeSelectionListeners が通知を受けます。
paths
が null の場合、これは clearSelection
を呼び出すのと同じ効果があります。
- パラメータ:
paths
- 新しい選択範囲
addSelectionPath
void addSelectionPath(TreePath path)
- 現在の選択範囲にパスを追加します。現在パスが選択範囲にない場合は、TreeSelectionListeners が通知を受けます。
path
が null の場合は影響はありません。
- パラメータ:
path
- 現在の選択範囲に追加する新しいパス
addSelectionPaths
void addSelectionPaths(TreePath[] paths)
- 現在の選択範囲にパスを追加します。現在パスが選択範囲にない場合は、TreeSelectionListeners が通知を受けます。
path
が null の場合は影響はありません。
- パラメータ:
paths
- 現在の選択範囲に追加する新しいパス
removeSelectionPath
void removeSelectionPath(TreePath path)
- 選択範囲からパスを削除します。パスが選択範囲にある場合は、TreeSelectionListeners が通知を受けます。
path
が null の場合は影響はありません。
- パラメータ:
path
- 選択範囲から削除するパス
removeSelectionPaths
void removeSelectionPaths(TreePath[] paths)
- 選択範囲からパスを削除します。
paths
内のパスのいずれかが選択範囲にある場合は、TreeSelectionListeners が通知を受けます。paths
が null の場合、このメソッドは影響を受けません。
- パラメータ:
paths
- 選択範囲から削除するパス
getSelectionPath
TreePath getSelectionPath()
- 選択範囲の先頭のパスを返します。先頭のパスの定義は実装者に任されており、必ずしも
RowMapper
が判定した最小整数値を持つ TreePath である必要はありません。
getSelectionPaths
TreePath[] getSelectionPaths()
- 選択範囲のパスを返します。現在何も選択されていない場合は、null または空の配列を返します。
getSelectionCount
int getSelectionCount()
- 選択されているパスの数を返します。
isPathSelected
boolean isPathSelected(TreePath path)
- パス
path
が現在の選択範囲にある場合に true を返します。
isSelectionEmpty
boolean isSelectionEmpty()
- 選択範囲が現在空の場合に true を返します。
clearSelection
void clearSelection()
- 現在の選択範囲を空にします。これが現在の選択範囲の変更を表す場合は、選択リスナーが通知を受けます。
setRowMapper
void setRowMapper(RowMapper newMapper)
- RowMapper のインスタンスを設定します。このインスタンスを使うことによって、どの行がどの TreePath に対応するかを判定します。
getRowMapper
RowMapper getRowMapper()
- TreePath を行にマップできる RowMapper のインスタンスを返します。
getSelectionRows
int[] getSelectionRows()
- 現在選択されているすべての行を返します。TreePath が選択されていない場合、または RowMapper が設定されていない場合は、null または空の配列を返します。
getMinSelectionRow
int getMinSelectionRow()
- 選択した現在の TreePath の設定の RowMapper から取得した最小値を返します。何も選択されていない場合、または RowMapper がない場合は、-1 を返します。
getMaxSelectionRow
int getMaxSelectionRow()
- 選択した現在の TreePath の設定の RowMapper から取得した最大値を返します。何も選択されていない場合、または RowMapper がない場合は、-1 を返します。
isRowSelected
boolean isRowSelected(int row)
row
で識別される行が選択されている場合に true を返します。
resetRowSelection
void resetRowSelection()
- このオブジェクトの TreePath から行へのマッピングを更新します。このメソッドは、たとえば、ノードが拡張された場合のように TreePath から整数へのマッピングが変更されたときに呼び出されます。
通常は呼び出す必要はありません。 JTree とそれに関連するリスナーが呼び出します。独自のビュークラスを実装中の場合は自分で呼び出す必要があります。
getLeadSelectionRow
int getLeadSelectionRow()
- 選択範囲のリードインデックスを返します。これは、最後に追加されたインデックスです。
getLeadSelectionPath
TreePath getLeadSelectionPath()
- 追加された最後のパスを返します。このパスは JTree が保持している leadSelectionPath のプロパティーとは異なる場合があります。
addPropertyChangeListener
void addPropertyChangeListener(PropertyChangeListener listener)
- PropertyChangeListener をリスナーリストに追加します。リスナーは、すべてのプロパティーに対して登録されます。
PropertyChangeEvent は、選択範囲モードが変更されるとトリガーされます。
- パラメータ:
listener
- 追加する PropertyChangeListener
removePropertyChangeListener
void removePropertyChangeListener(PropertyChangeListener listener)
- PropertyChangeListener をリスナーリストから削除します。すべてのプロパティーで登録された PropertyChangeListener を削除します。
- パラメータ:
listener
- 削除する PropertyChangeListener
addTreeSelectionListener
void addTreeSelectionListener(TreeSelectionListener x)
- 選択された TreePath の設定が変更されるたびに通知を受けるリスナーのリストに x を追加します。
- パラメータ:
x
- 追加される新しいリスナー
removeTreeSelectionListener
void removeTreeSelectionListener(TreeSelectionListener x)
- 選択された TreePath の設定が変更されるたびに通知を受けるリスナーのリストから x を削除します。
- パラメータ:
x
- 削除するリスナー
バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。