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 int |
CONTIGUOUS_TREE_SELECTION |
選択範囲の項目は連続している必要があります。
|
static int |
DISCONTIGUOUS_TREE_SELECTION |
選択範囲の項目数に制限はなく、各項目は連続している必要はありません。
|
static int |
SINGLE_TREE_SELECTION |
選択範囲には、同時に複数のパスを指定することはできません。
|
修飾子と型 | メソッド | 説明 |
---|---|---|
void |
addPropertyChangeListener(PropertyChangeListener listener) |
PropertyChangeListenerをリスナー・リストに追加します。
|
void |
addSelectionPath(TreePath path) |
現在の選択範囲にパスを追加します。
|
void |
addSelectionPaths(TreePath[] paths) |
現在の選択範囲にパスを追加します。
|
void |
addTreeSelectionListener(TreeSelectionListener x) |
選択されたTreePathの設定が変更されるたびに通知を受けるリスナーのリストにxを追加します。
|
void |
clearSelection() |
現在の選択範囲を空にします。
|
TreePath |
getLeadSelectionPath() |
追加された最後のパスを返します。
|
int |
getLeadSelectionRow() |
選択範囲のリード・インデックスを返します。
|
int |
getMaxSelectionRow() |
選択した現在のTreePathの設定のRowMapperから取得した最大値を返します。
|
int |
getMinSelectionRow() |
選択した現在のTreePathの設定のRowMapperから取得した最小値を返します。
|
RowMapper |
getRowMapper() |
TreePathを行にマップできるRowMapperのインスタンスを返します。
|
int |
getSelectionCount() |
選択されているパスの数を返します。
|
int |
getSelectionMode() |
現在の選択モードを返します。これは、
SINGLE_TREE_SELECTION 、CONTIGUOUS_TREE_SELECTION 、またはDISCONTIGUOUS_TREE_SELECTION のいずれかになります。 |
TreePath |
getSelectionPath() |
選択範囲の先頭のパスを返します。
|
TreePath[] |
getSelectionPaths() |
選択範囲のパスを返します。
|
int[] |
getSelectionRows() |
現在選択されているすべての行を返します。
|
boolean |
isPathSelected(TreePath path) |
パス
path が現在の選択範囲にある場合にtrueを返します。 |
boolean |
isRowSelected(int row) |
row で識別される行が選択されている場合にtrueを返します。 |
boolean |
isSelectionEmpty() |
選択範囲が現在空の場合にtrueを返します。
|
void |
removePropertyChangeListener(PropertyChangeListener listener) |
PropertyChangeListenerをリスナー・リストから削除します。
|
void |
removeSelectionPath(TreePath path) |
選択範囲からパスを削除します。
|
void |
removeSelectionPaths(TreePath[] paths) |
選択範囲からパスを削除します。
|
void |
removeTreeSelectionListener(TreeSelectionListener x) |
選択されたTreePathの設定が変更されるたびに通知を受けるリスナーのリストからxを削除します。
|
void |
resetRowSelection() |
このオブジェクトのTreePathから行へのマッピングを更新します。
|
void |
setRowMapper(RowMapper newMapper) |
RowMapperのインスタンスを設定します。
|
void |
setSelectionMode(int mode) |
選択モードを設定します。このモードは、SINGLE_TREE_SELECTION、CONTIGUOUS_TREE_SELECTION、DISCONTIGUOUS_TREE_SELECTIONのどれか1つである必要があります。
|
void |
setSelectionPath(TreePath path) |
選択範囲をパスに設定します。
|
void |
setSelectionPaths(TreePath[] paths) |
選択範囲をパスに設定します。
|
static final int SINGLE_TREE_SELECTION
static final int CONTIGUOUS_TREE_SELECTION
static final int DISCONTIGUOUS_TREE_SELECTION
void setSelectionMode(int mode)
現在の選択範囲が新しいモードに対して有効でない場合、選択範囲は変更されます。 たとえば、3つのTreePathが選択された状態でモードをSINGLE_TREE_SELECTION
に変更した場合、一つのTreePathの選択だけが残ります。 どのTreePathが選択されたままになるかは使用する特定の実装によって決まります。
int getSelectionMode()
SINGLE_TREE_SELECTION
、CONTIGUOUS_TREE_SELECTION
、またはDISCONTIGUOUS_TREE_SELECTION
のいずれかになります。void setSelectionPath(TreePath path)
path
がnullの場合はclearSelection
を呼び出した場合と同じ効果があります。 path
- 選択する新しいパスvoid setSelectionPaths(TreePath[] paths)
paths
がnullの場合はclearSelection
を呼び出した場合と同じ効果があります。 paths
- 新しい選択範囲void addSelectionPath(TreePath path)
path
がnullの場合は影響はありません。 path
- 現在の選択範囲に追加する新しいパスvoid addSelectionPaths(TreePath[] paths)
paths
がnullの場合は影響はありません。 paths
- 現在の選択範囲に追加する新しいパスvoid removeSelectionPath(TreePath path)
path
がnullの場合は影響はありません。 path
- 選択範囲から削除するパスvoid removeSelectionPaths(TreePath[] paths)
paths
内のパスのいずれかが選択範囲にある場合は、TreeSelectionListenersが通知を受けます。 paths
がnullの場合、このメソッドは影響を受けません。 paths
- 選択範囲から削除するパスTreePath getSelectionPath()
RowMapper
が判定した最小整数値を持つTreePathである必要はありません。 TreePath[] getSelectionPaths()
int getSelectionCount()
boolean isPathSelected(TreePath path)
path
が現在の選択範囲にある場合にtrueを返します。boolean isSelectionEmpty()
void clearSelection()
void setRowMapper(RowMapper newMapper)
RowMapper getRowMapper()
int[] getSelectionRows()
int getMinSelectionRow()
int getMaxSelectionRow()
boolean isRowSelected(int row)
row
で識別される行が選択されている場合にtrueを返します。void resetRowSelection()
通常は呼び出す必要はありません。JTreeとそれに関連するリスナーが呼び出します。 独自のビュー・クラスを実装中の場合は自分で呼び出す必要があります。
int getLeadSelectionRow()
TreePath getLeadSelectionPath()
void addPropertyChangeListener(PropertyChangeListener listener)
PropertyChangeEventは、選択範囲モードが変更されるとトリガーされます。
listener
- 追加されるPropertyChangeListenervoid removePropertyChangeListener(PropertyChangeListener listener)
listener
- 削除されるPropertyChangeListenervoid addTreeSelectionListener(TreeSelectionListener x)
x
- 追加される新しいリスナーvoid removeTreeSelectionListener(TreeSelectionListener x)
x
- 削除するリスナー バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。