モジュール java.desktop
パッケージ 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)
    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      TransferSupport​(Component component, Transferable transferable)
      指定されたコンポーネントのisDrop() falseTransferableを使用して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)
      ドロップを表す転送に対して、ドロップ位置を視覚的に示すかどうかを設定します。
    • コンストラクタの詳細

      • TransferSupport

        public TransferSupport​(Component component,
                               Transferable transferable)
        指定されたコンポーネントのisDrop() falseTransferableを使用して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のどれか1つにする必要があります。

        このメソッドは、ドラッグ&ドロップ転送でしか使用しません。 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を直接取得する必要がある場合以外は、このクラス上でその他のメソッドのうち1つを実行して、転送に関する情報を照会します。 この方法のほうが、Transferableを取得して直接要求する方法よりもパフォーマンス面で優れていることがあります。

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