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 - いずれかのパラメータが次の場合: 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, 2014, Oracle and/or its affiliates. All rights reserved.