パッケージ java.awt.dnd

Last update: Dec. 22, 1998

Java Strikes!に戻る

JDK1.2(Java2)からjava.awt.dnd という名前のパッケージが追加されました。
これは、ドラッグ&ドロップをサポートするためのパッケージなのですが、あまり注目されていないようです。 現時点(1998年12月中旬)では、Sun のサイトにすらサンプルコードがありません。仕様書はありますが、それにもサンプルはありません。
早速いじってみて、使い方を解明してみたいと思います。

ネイティブアプリケーションからのドラッグ&ドロップ Dec. 16, 1998

試行錯誤の末、「ネイティブアプリケーションからドラッグ&ドロップしたファイル名を受け取る」方法が分かりましたのでここに掲載します。
このプログラムを実行すると、何も表示されない空のウインドウが表示されます。
ここに、ネイティブアプリケーションからファイルをドラッグ&ドロップしてみてください。(例えばWindows95の場合にはエクスプローラでドラッグ&ドロップしてください)
標準出力にドロップされたファイル名の一覧が表示されるはずです。


...えー、このプログラムは色々応用がききそうなのですが、それはまたの機会という事で...


ネイティブアプリケーションからファイルをドラッグ&ドロップ可能にするための手順を以下にまとめておきます。(Dec. 22,1998)

目次に戻る

DragTargetComponent Dec. 22, 1998

Component.setDropTarget()メソッドにDropTargetのインスタンスを渡すことで、このComponentにドロップ操作が可能となりますが、この際に注意しなければならないことがあります。
それは、「DropTargetのインスタンスは1つのComponentしかサポートしない」という点です。
文章だとわかりにくいので、具体例で示しましょう。
2つのTextAreaにドロップ操作を可能とする場合の例です。 このコードを実行すると、area2にしかドロップできません。
これは、DropTargetのインスタンスが1つのComponentしかサポートしないからです。複数のComponentに対してDropTargetをセットした場合、最後に登録したComponentのみが有効となります。
area1area2両方にドロップ可能としたい場合には、以下のようにDropTargetのインスタンスを2つ作成します。 注:DropTargetListenerは、複数のDropTargetからのイベントを受信できます。
目次に戻る

Java Strikes!に戻る

Copyright(C) 1998 FreeBeans