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 - いずれかのパラメータが次の場合: nullpublic 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 - テストする DataFlavorpublic Transferable getTransferable()
Transferable を返します。
注: Transferable を直接取得する必要がある場合以外は、このクラス上でその他のメソッドのうち 1 つを実行して、転送に関する情報を照会します。この方法のほうが、Transferable を取得して直接要求する方法よりもパフォーマンス面で優れていることがあります。
Transferable バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.