Javaソース・エディタで、次のimport
文をpublic class
行の前に追加します。
import java.util.ArrayList;
import java.util.List;
import javax.faces.model.SelectItem;
import oracle.adf.view.rich.datatransfer.DataFlavor;
import oracle.adf.view.rich.dnd.DnDAction;
import oracle.adf.view.rich.event.DropEvent;
次の行の後ろにカーソルを移動します。
public class MyPage {
public MyPage() {
}
次のメソッドを追加します。このメソッドは、プログラムでリスト・ボックスに移入するSelectItem
アイテムのリストを戻します。
/**
* @return the beverage items
*/
private List<SelectItem> _choices;
public List<SelectItem> getChoices() {
if (_choices == null) {
_choices = new ArrayList<SelectItem>();
_choices.add(new SelectItem("Cocoa", "Cocoa"));
_choices.add(new SelectItem("Tea", "Tea"));
_choices.add(new SelectItem("Wine", "Wine"));
}
return _choices;
}
次のDndAction
メソッドを追加します。このメソッドは、ドロップ・イベントを処理します。
/**
* Drop event handler
*/
public DnDAction handleItemDrop(DropEvent dropEvent) {
try {
DataFlavor<String> df = DataFlavor.getDataFlavor(String.class);
String droppedValue = dropEvent.getTransferable().getData(df);
if (droppedValue == null) {
return DnDAction.NONE;
} else {
_choices.add(new SelectItem(droppedValue, droppedValue));
}
return DnDAction.COPY;
} catch (Exception ex) {
System.out.println("item drop failed with : " + ex.getMessage());
return DnDAction.NONE;
}
}
このサンプルでは、アイテムがリスト・ボックスにドロップされると、リスト・ボックスがリフレッシュされて、新しいアイテム・リストが表示されます。
サンプル・コードを入力するかわりに、このウィンドウのコードをコピーしてJavaソース・エディタに貼り付けることができます。
Copyright © 1997, 2009, Oracle. All rights reserved.