JavaTM Platform
Standard Ed. 6

javax.swing
クラス TransferHandler.TransferSupport

java.lang.Object
  上位を拡張 javax.swing.TransferHandler.TransferSupport
含まれているクラス:
TransferHandler

public static final class TransferHandler.TransferSupport
extends Object

このクラスには、クリップボードによる転送またはドラッグ&ドロップによる転送に関連する詳細情報をすべてカプセル化する機能と、ドラッグ&ドロップ操作をカスタマイズする機能があります。

このクラスの主な目的は、開発者が、カプセル化されたデータの転送またはインポートが適切かどうかを判断するために必要な情報を提供する点にあります。また、このクラスは、ドラッグ&ドロップ中にプロパティー (ドロップ位置を表示するかどうか、どのドロップアクションを使用するかなど) をカスタマイズするコントローラとしても機能します。

通常、開発者は、このクラスのインスタンスを作成する必要はありません。代わりに、DnD 実装により、TransferHandler 内にいくつかのメソッドが提供されています。

導入されたバージョン:
1.6
関連項目:
TransferHandler.canImport(TransferHandler.TransferSupport), TransferHandler.importData(TransferHandler.TransferSupport)

コンストラクタの概要
TransferHandler.TransferSupport(Component component, Transferable transferable)
          指定のコンポーネントおよび Transferable に対して、isDrop() の値を false に設定して 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)
          ドロップを表す転送に対して、ドロップ位置を視覚的に示すかどうかを設定します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

TransferHandler.TransferSupport

public TransferHandler.TransferSupport(Component component,
                                       Transferable transferable)
指定のコンポーネントおよび Transferable に対して、isDrop() の値を false に設定して TransferSupport を作成します。

パラメータ:
component - ターゲットコンポーネント
transferable - 転送可能オブジェクト
例外:
NullPointerException - どちらかのパラメータが null の場合
メソッドの詳細

isDrop

public boolean isDrop()
この TransferSupport がドロップ操作を表しているかどうかを返します。

戻り値:
これがドロップ操作である場合は true、 そうでない場合は false

getComponent

public Component getComponent()
この転送のターゲットコンポーネントを返します。

戻り値:
ターゲットコンポーネント

getDropLocation

public TransferHandler.DropLocation getDropLocation()
この TransferSupport がドロップを表すとき、コンポーネントの現在のドロップ位置 (null 以外) を返します。

注:ドロップサポートが組み込まれているコンポーネントの場合、この位置はコンポーネントの getDropLocation メソッドによって返されるものと同じ種類の DropLocation のサブクラスになります。

このメソッドは、ドラッグ&ドロップ転送でしか使用しません。isDrop()false のときに呼び出すと、IllegalStateException がスローされます。

戻り値:
ドロップ位置
例外:
IllegalStateException - これがドロップでない場合
関連項目:
isDrop

setShowDropLocation

public void setShowDropLocation(boolean showDropLocation)
ドロップを表す転送に対して、ドロップ位置を視覚的に示すかどうかを設定します。この設定は、ドラッグ&ドロップ操作中に、適切であればドロップ位置を自動的に表示するコンポーネントに適用されます。デフォルトでは、ドロップ位置は、TransferHandler がこの TransferSupport によって表されるインポートを受け入れることができる場合にのみ表示されます。このメソッドにより、ドロップ位置を常に表示または常に非表示にすることができます。

このメソッドは、ドラッグ&ドロップ転送でしか使用しません。isDrop()false のときに呼び出すと、IllegalStateException がスローされます。

パラメータ:
showDropLocation - ドロップ位置を示すかどうか
例外:
IllegalStateException - これがドロップでない場合
関連項目:
isDrop

setDropAction

public void setDropAction(int dropAction)
転送のドロップアクション (ドロップを表す必要がある) として、デフォルトのユーザードロップアクションではなく、指定のアクションを設定します。このアクションは、ソースのドロップアクションでサポートされているアクションで、COPYMOVE、または LINK のどれか一つにする必要があります。

このメソッドは、ドラッグ&ドロップ転送でしか使用しません。isDrop()false のときに呼び出すと、IllegalStateException がスローされます。

パラメータ:
dropAction - ドロップアクション
例外:
IllegalStateException - これがドロップでない場合
IllegalArgumentException - 無効なアクションが指定された場合
関連項目:
getDropAction(), getUserDropAction(), getSourceDropActions(), isDrop

getDropAction

public int getDropAction()
この TransferSupport がドロップを表すとき、そのドロップの選択アクションを返します。

setDropAction を使って明示的に選択しないかぎり、getUserDropAction で指定されたユーザードロップアクションが返されます。

アクションに基づいて処理をカスタマイズするには、 TransferHandlerimportData メソッドでこれを照会することができます。

このメソッドは、ドラッグ&ドロップ転送でしか使用しません。isDrop()false のときに呼び出すと、IllegalStateException がスローされます。

戻り値:
ドロップの選択アクション
例外:
IllegalStateException - これがドロップでない場合
関連項目:
setDropAction(int), getUserDropAction(), isDrop

getUserDropAction

public int getUserDropAction()
この TransferSupport がドロップを表すとき、そのドロップのユーザードロップアクションを返します。

ドロップに対してユーザードロップアクションを選択する方法については、DropTargetDragEventDropTargetDropEvent のドキュメントを参照してください。setDropAction メソッドを使って、異なったアクションをドロップアクションとして選択することもできます。

ドロップが適切かどうかを判断するとき、またはドロップアクションを明示的に選択するとき、TransferHandlercanImport メソッドでこれを照会することができます。

このメソッドは、ドラッグ&ドロップ転送でしか使用しません。isDrop()false のときに呼び出すと、IllegalStateException がスローされます。

戻り値:
ユーザドロップアクション
例外:
IllegalStateException - これがドロップでない場合
関連項目:
setDropAction(int), getDropAction(), isDrop

getSourceDropActions

public int getSourceDropActions()
この TransferSupport がドロップを表すとき、ドラッグソースのサポートされているドロップアクションを返します。

ソースアクションは、この転送のソースでサポートされているアクションのセットを表します。これは、COPYMOVE、および LINK のビット単位の論理和として表されます。ドロップが適切かどうかを判断するとき、またはドロップアクションを明示的に選択するとき、TransferHandlercanImport メソッドでこれを照会することができます。ソースが特定のアクションをサポートするかどうかを確認するには、そのアクションとソースドロップアクションのビット単位の論理積を求め、その結果を元のアクションと比較します。例を示します。  

 boolean copySupported = (COPY & getSourceDropActions()) == COPY;
 

このメソッドは、ドラッグ&ドロップ転送でしか使用しません。isDrop()false のときに呼び出すと、IllegalStateException がスローされます。

戻り値:
ドラッグソースのサポートされているドロップアクション
例外:
IllegalStateException - これがドロップでない場合
関連項目:
isDrop

getDataFlavors

public DataFlavor[] getDataFlavors()
この転送のデータフレーバを返します。

戻り値:
この転送のデータフレーバ

isDataFlavorSupported

public boolean isDataFlavorSupported(DataFlavor df)
指定のデータフレーバがサポートされているかどうかを返します。

パラメータ:
df - 判定対象の DataFlavor
戻り値:
指定のデータフレーバがサポートされているかどうか

getTransferable

public Transferable getTransferable()
この転送に関連した Transferable を返します。

注:Transferable を直接取得する必要がある場合以外は、このクラス上でその他のメソッドのうち一つを実行して、転送に関する情報を照会します。この方法のほうが、Transferable を取得して直接要求する方法よりもパフォーマンス面で優れていることがあります。

戻り値:
この転送に関連した Transferable

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。