public static final class TransferHandler.TransferSupport extends Object
このクラスの主な目的は、開発者が、カプセル化されたデータの転送またはインポートが適切かどうかを判断するために必要な情報を提供する点にあります。また、このクラスは、ドラッグ&ドロップ中にプロパティー (ドロップ位置を表示するかどうか、どのドロップアクションを使用するかなど) をカスタマイズするコントローラとしても機能します。
通常、開発者は、このクラスのインスタンスを作成する必要はありません。代わりに、DnD 実装により、TransferHandler
内にいくつかのメソッドが提供されています。
コンストラクタと説明 |
---|
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 TransferHandler.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, 2013, Oracle and/or its affiliates. All rights reserved.