|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.swing.TransferHandler
public class TransferHandler
このクラスは、Swing コンポーネントに対する Transferable
の転送処理に使用します。Transferable
は、カット、コピー、ペーストなどを通じてクリップボードに送るデータまたはクリップボードから受け取るデータを表すために使用します。また、ドラッグ&ドロップ操作で、コンポーネントからのドラッグおよびコンポーネントへのドロップを表すために使用します。Swing には、このクラスの実装により提供される機能を使用するカット、コピー、ペーストのキーボードバインディングを自動的にサポートする機能が用意されています。また、ドラッグ&ドロップについても同様に自動的にサポートされます。Swing の開発者は、主に Swing コンポーネントで transferHandler
プロパティを設定することにより、転送のセマンティクスを指定する作業に集中できます。
このクラスは、コンストラクタのプロパティ名を指定するだけで、デフォルトの動作として、コンポーネントのプロパティを転送するよう実装されます。たとえば、クリップボードやドラッグ & ドラッグ操作によりコンポーネント間でフォアグランドカラーを転送するには、文字列「foreground」を使用して TransferHandler
を構築します。組み込みサポートは、getForeground
によって返されたカラーを転送元として使用し、setForeground
を転送先に使用します。
詳細は、「The Java Tutorial」の「How to Use Drag and Drop and Data Transfer」を参照してください。
フィールドの概要 | |
---|---|
static int |
COPY
「copy」の転送アクションを表す int です。 |
static int |
COPY_OR_MOVE
「copy」または「move」のソースアクション機能を表す int です。 |
static int |
MOVE
「move」の転送アクションを表す int です。 |
static int |
NONE
転送アクションが行われないことを表す int です。 |
コンストラクタの概要 | |
---|---|
protected |
TransferHandler()
サブクラスの簡易コンストラクタです。 |
|
TransferHandler(String property)
クリップボードまたはドラッグ&ドロップ操作によってコンポーネント間の Java Bean プロパティを転送できる転送ハンドラを構築します。 |
メソッドの概要 | |
---|---|
boolean |
canImport(JComponent comp,
DataFlavor[] transferFlavors)
コンポーネントが実際に一連のデータフレーバのインポートを試みる前に、データフレーバのインポートを受け入れるかどうかを示します。 |
protected Transferable |
createTransferable(JComponent c)
データ転送のソースとして使用する Transferable を作成します。 |
void |
exportAsDrag(JComponent comp,
InputEvent e,
int action)
Swing ドラッグサポートを開始します。 |
protected void |
exportDone(JComponent source,
Transferable data,
int action)
データのエクスポート後に呼び出されます。 |
void |
exportToClipboard(JComponent comp,
Clipboard clip,
int action)
指定されたコンポーネントを指定されたクリップボードへ転送します。 |
static Action |
getCopyAction()
「copy」操作のように動作する Action を返します。 |
static Action |
getCutAction()
「cut」操作のように動作する Action を返します。 |
static Action |
getPasteAction()
「paste」操作のように動作する Action を返します。 |
int |
getSourceActions(JComponent c)
ソースがサポートする転送アクションの種類を返します。 |
Icon |
getVisualRepresentation(Transferable t)
転送の外観を設定するオブジェクトを返します。 |
boolean |
importData(JComponent comp,
Transferable t)
クリップボードまたは DND ドロップ操作からコンポーネントへ転送します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
public static final int NONE
int
です。
public static final int COPY
int
です。データがクリップボードにコピーされたとき、またはドラッグ&ドロップ操作で別の場所へコピーされたときに使用されます。
public static final int MOVE
int
です。データがクリップボードに移動 (カット) されたとき、またはドラッグ&ドロップ操作で別の場所へ移動されたときに使用されます。
public static final int COPY_OR_MOVE
int
です。
コンストラクタの詳細 |
---|
public TransferHandler(String property)
property
- 転送するプロパティの名前。別の種類の転送を処理するサブクラスなど、転送ハンドラに関連付けられたプロパティがない場合は null
protected TransferHandler()
メソッドの詳細 |
---|
public static Action getCutAction()
Action
を返します。つまり、ActionEvent
のソースである JComponent
に関連付けられた TransferHandler
で、MOVE
引数を使用して exportToClipboard
を呼び出します。
public static Action getCopyAction()
Action
を返します。つまり、ActionEvent
のソースである JComponent
に関連付けられた TransferHandler
で、COPY
引数を使用して exportToClipboard
を呼び出します。
public static Action getPasteAction()
Action
を返します。つまり、ActionEvent
のソースである JComponent
に関連付けられた TransferHandler
で、importData
を呼び出します。
public void exportAsDrag(JComponent comp, InputEvent e, int action)
javax.swing.plaf.basic
パッケージのさまざまな UI の実装から、このメソッドが呼び出されます。UI のカスタム実装から呼び出して、Swing ドラッグサポートを使用できます。また、JComponent
のサブクラスとして記述される Swing の拡張から呼び出して、Swing ドラッグサポートの機能を利用できます。
このメソッドの呼び出しが戻る時点で転送が完了している必要はありません。つまり、このメソッドの呼び出しによって、ドロップの待機が妨げられることはありません。転送は、java.awt.dnd
機構の Swing の実装を使用して実行され、開発者がそれ以上処理を追加する必要はありません。転送が完了すると、exportDone
メソッドが呼び出されます。
comp
- 転送データを保持するコンポーネント。複数のコンポーネントで TransferHandler
を共有するために使用する引数e
- 転送をトリガしたイベントaction
- 最初に要求された転送アクション。値は COPY
または MOVE
で、ドラッグ操作中に変更されることもあるpublic void exportToClipboard(JComponent comp, Clipboard clip, int action) throws IllegalStateException
転送は、java.awt.datatransfer
機構を使用して実行され、開発者がそれ以上処理を追加する必要はありません。データ転送がすべて完了すると、このメソッドが復帰する前に、発生したアクションで exportDone
メソッドが呼び出されます。データをクリップボードに貼り付けようとしたときにクリップボードが使用できない場合は、Clipboard.setContents(Transferable, ClipboardOwner)
によってスローされた IllegalStateException
がこのメソッドを介して伝播されます。ただし、一貫性を保つために exportDone
はまず NONE
というアクションで呼び出されます。
comp
- 転送データを保持するコンポーネント。複数のコンポーネントで TransferHandler
を共有するために使用する引数clip
- データの転送先のクリップボードaction
- 最初に要求された転送アクション。値は COPY
または MOVE
。実行される操作は、getSourceActions による転送機能と要求されたアクションによる転送機能の共通部分。要求されたアクションがサポートされていない場合、共通アクションは NONE
IllegalStateException
- クリップボードが現在使用できない場合Clipboard.setContents(Transferable, ClipboardOwner)
public boolean importData(JComponent comp, Transferable t)
Transferable
は、コンポーネントにインポートされるデータを表します。
comp
- 転送を受信するコンポーネント。複数のコンポーネントで TransferHandler
を共有するために使用する引数t
- インポートするデータ
public boolean canImport(JComponent comp, DataFlavor[] transferFlavors)
comp
- 転送を受信するコンポーネント。複数のコンポーネントで TransferHandlers
を共有するために使用する引数transferFlavors
- 有効なデータ形式
public int getSourceActions(JComponent c)
COPY
の転送アクションだけを使用できます。
c
- 転送データを保持するコンポーネント。複数のコンポーネントで TransferHandler
を共有するために使用する引数
COPY
、そうでない場合は NONE
。戻り値が NONE
の場合、該当のコンポーネントからの転送はすべて無効public Icon getVisualRepresentation(Transferable t)
Icon
インタフェースの実装では、グラフィッククリップやアルファレベルを変更できません。アイコンの実装は矩形である必要はなく、境界の矩形をすべてペイントする必要もありません。また、アイコンのペイントメソッドを呼び出すロジックでは、すべてのビットがペイントされていることを想定してはいけません。このメソッドの戻り値としては null
も許され、ビジュアル表現が設定されていないことを示します。その場合、呼び出しロジックでは Transferable を自由に表すことができます。
null
が返された場合、デフォルトの Swing ロジックではアルファ合成されたドラッグアニメーションは実行されません。
t
- 転送されるデータ。createTransferable
メソッドによって作成済みであると想定
null
protected Transferable createTransferable(JComponent c)
Transferable
を作成します。転送するデータの表現を返します。コンポーネントのプロパティが null
の場合は null
を返します。
c
- 転送データを保持するコンポーネント。複数のコンポーネントで TransferHandler
を共有するために使用する引数
c
に関連付けられたプロパティが null
の場合は null
protected void exportDone(JComponent source, Transferable data, int action)
MOVE
の場合に転送されたデータを削除します。
MOVE
はこの実装にサポートされるアクションでないため、このメソッドの実装では何も行われません。getSourceActions
には MOVE
が含まれません。
source
- データのソースであったコンポーネントdata
- 転送されたデータ。アクションが NONE
である場合は nullaction
- 実際に実行されたアクション
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。