gwt-dnd使ってみた
http://code.google.com/p/gwt-dnd/
これのgwt1.3.3-dragdrop-2007-07-13.jarを使ってみた。
まあへたれなんでサンプルちょこっといじったくらいなのだけど。
日本語でこれについて解説してるのがなさそうなのでちょっとメモっとく。
入れ方
http://code.google.com/p/gwt-dnd/wiki/GettingStartedを参考に
- 新しくGWTのプロジェクトを作る(http://allabout.co.jp/internet/java/closeup/CU20060703A/index.htm参照)
- 作った「プロジェクト」の「プロパティ」を開いて、「Javaのビルドパス」の「ライブラリー」にgwt1.3.3-dragdrop-2007-07-13.jarを突っ込む
- 自分のプロジェクトのgwt.xmlに
軽くサンプルの解説
http://code.google.com/p/gwt-dnd/wiki/GettingStarted
DragController dragController = new PickupDragController(boundaryPanel, true);
ドラッグを制御するものを作る。二つ目の引数はこの領域でドロップを可能にするかどうか。trueでドロップできる。
DropController dropController = new AbsolutePositionDropController(targetPanel);
ドロップを制御するものを作る。
サンプルではAbsolutePanelを使っているのでAbsolutePosionDropControllerを使っている。他のWidgetなり使うなら他のDropController使うのかな?
dragController.registerDropController(dropController);
DragControllerにDropControllerを登録する。
ちなみにDrop対象が二つある場合は、
AbsolutePanel targetPanel2 = new AbsolutePanel(); DropController dropController2 = new AbsolutePositionDropController(targetPanel2); dragController.registerDropController(dropController2);
っていう感じに、既存のDragControllerに登録してやればいいっぽいです。