public static final class TransferHandler.TransferSupport extends Object
このクラスの主な目的は、開発者が、カプセル化されたデータの転送またはインポートが適切かどうかを判断するために必要な情報を提供する点にあります。また、このクラスは、ドラッグ&ドロップ中にプロパティ(ドロップ位置を表示するかどうか、どのドロップ・アクションを使用するかなど)をカスタマイズするコントローラとしても機能します。
通常、開発者は、このクラスのインスタンスを作成する必要はありません。代わりに、DnD実装により、TransferHandler
内にいくつかのメソッドが提供されています。
コンストラクタと説明 |
---|
TransferSupport(Component component, Transferable transferable)
指定されたコンポーネントの
isDrop() false とTransferable を使用してTransferSupport を作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
Component |
getComponent()
この転送のターゲット・コンポーネントを返します。
|
DataFlavor[] |
getDataFlavors()
この転送のデータ・フレーバを返します。
|
int |
getDropAction()
この
TransferSupport がドロップを表す場合、そのドロップの選択アクションを返します。 |
TransferHandler.DropLocation |
getDropLocation()
この
TransferSupport がドロップを表す場合、コンポーネントの現在のドロップ位置(null 以外)を返します。 |
int |
getSourceDropActions()
この
TransferSupport がドロップを表す場合、ドラッグ・ソースがサポートするドロップ・アクションを返します。 |
Transferable |
getTransferable()
この転送に関連した
Transferable を返します。 |
int |
getUserDropAction()
この
TransferSupport がドロップを表す場合、そのドロップのユーザー・ドロップ・アクションを返します。 |
boolean |
isDataFlavorSupported(DataFlavor df)
指定のデータ・フレーバがサポートされているかどうかを返します。
|
boolean |
isDrop()
この
TransferSupport がドロップ操作を表しているかどうかを返します。 |
void |
setDropAction(int dropAction)
転送のドロップ・アクション(ドロップを表す必要がある)として、デフォルトのユーザー・ドロップ・アクションではなく、指定のアクションを設定します。
|
void |
setShowDropLocation(boolean showDropLocation)
ドロップを表す転送に対して、ドロップ位置を視覚的に示すかどうかを設定します。
|
public TransferSupport(Component component, Transferable transferable)
isDrop()
false
とTransferable
を使用してTransferSupport
を作成します。component
- ターゲット・コンポーネントtransferable
- 転送可能オブジェクトNullPointerException
- いずれかのパラメータが次の場合: null
public boolean isDrop()
TransferSupport
がドロップ操作を表しているかどうかを返します。true
、そうでない場合はfalse
。public Component getComponent()
public TransferHandler.DropLocation getDropLocation()
TransferSupport
がドロップを表す場合、コンポーネントの現在のドロップ位置(null
以外)を返します。
注: ドロップ・サポートが組み込まれているコンポーネントの場合、この位置はコンポーネントのgetDropLocation
メソッドによって返されるものと同じ種類のDropLocation
のサブクラスになります。
このメソッドは、ドラッグ&ドロップ転送でしか使用しません。isDrop()
がfalse
のときに呼び出すと、IllegalStateException
がスローされます。
IllegalStateException
- これがドロップでない場合isDrop()
public void setShowDropLocation(boolean showDropLocation)
TransferHandler
がこのTransferSupport
によって表されるインポートを受け入れることができる場合にのみ表示されます。このメソッドにより、ドロップ位置を常に表示または常に非表示にすることができます。
このメソッドは、ドラッグ&ドロップ転送でしか使用しません。isDrop()
がfalse
のときに呼び出すと、IllegalStateException
がスローされます。
showDropLocation
- ドロップ位置を示すかどうかIllegalStateException
- これがドロップでない場合isDrop()
public void setDropAction(int dropAction)
COPY
、MOVE
、またはLINK
のどれか1つにする必要があります。
このメソッドは、ドラッグ&ドロップ転送でしか使用しません。isDrop()
がfalse
のときに呼び出すと、IllegalStateException
がスローされます。
dropAction
- ドロップ・アクションIllegalStateException
- これがドロップでない場合IllegalArgumentException
- 無効なアクションが指定された場合getDropAction()
, getUserDropAction()
, getSourceDropActions()
, isDrop()
public int getDropAction()
TransferSupport
がドロップを表す場合、そのドロップの選択アクションを返します。
setDropAction
を使って明示的に選択しないかぎり、getUserDropAction
で指定されたユーザー・ドロップ・アクションが返されます。
TransferHandler
のimportData
メソッドでこれを照会して、アクションに基づいた処理をカスタマイズできます。
このメソッドは、ドラッグ&ドロップ転送でしか使用しません。isDrop()
がfalse
のときに呼び出すと、IllegalStateException
がスローされます。
IllegalStateException
- これがドロップでない場合setDropAction(int)
, getUserDropAction()
, isDrop()
public int getUserDropAction()
TransferSupport
がドロップを表す場合、そのドロップのユーザー・ドロップ・アクションを返します。
ドロップに対してユーザー・ドロップ・アクションを選択する方法については、DropTargetDragEvent
とDropTargetDropEvent
のドキュメントを参照してください。setDropAction
メソッドを使って、異なったアクションをドロップ・アクションとして選択することもできます。
ドロップが適切かどうかを判断するとき、またはドロップ・アクションを明示的に選択するとき、TransferHandler
のcanImport
メソッドでこれを照会できます。
このメソッドは、ドラッグ&ドロップ転送でしか使用しません。isDrop()
がfalse
のときに呼び出すと、IllegalStateException
がスローされます。
IllegalStateException
- これがドロップでない場合setDropAction(int)
, getDropAction()
, isDrop()
public int getSourceDropActions()
TransferSupport
がドロップを表す場合、ドラッグ・ソースがサポートするドロップ・アクションを返します。
ソース・アクションは、この転送のソースでサポートされているアクションのセットを表します。これは、COPY
、MOVE
およびLINK
のビット単位の論理和として表されます。ドロップが適切かどうかを判断するとき、またはドロップ・アクションを明示的に選択するとき、TransferHandler
のcanImport
メソッドでこれを照会できます。ソースが特定のアクションをサポートするかどうかを確認するには、そのアクションとソース・ドロップ・アクションのビット単位の論理積を求め、その結果を元のアクションと比較します。例を示します。
boolean copySupported = (COPY & getSourceDropActions()) == COPY;
このメソッドは、ドラッグ&ドロップ転送でしか使用しません。isDrop()
がfalse
のときに呼び出すと、IllegalStateException
がスローされます。
IllegalStateException
- これがドロップでない場合isDrop()
public DataFlavor[] getDataFlavors()
public boolean isDataFlavorSupported(DataFlavor df)
df
- テストするDataFlavor
public Transferable getTransferable()
Transferable
を返します。
注: Transferable
を直接取得する必要がある場合以外は、このクラス上でその他のメソッドのうち1つを実行して、転送に関する情報を照会します。この方法のほうが、Transferable
を取得して直接要求する方法よりもパフォーマンス面で優れていることがあります。
Transferable
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.