0

ドラッグ可能にしたいラベルのフォローグリッドを作成しました:

         public static Grid setLabels (String [] str){
    Label [] lbl =  new Label [str.length];
    Grid grid = new Grid(5,1);
    CellFormatter cellFormatter = grid.getCellFormatter();

    for(int i=0; i<str.length; i++){
        lbl[i] = new Label();
        lbl[i].setText(str[i]);
        DraggableWidget<Label> draggableLabel = new DraggableWidget<Label>(lbl[i]);

        draggableLabel.setRevert(RevertOption.ON_INVALID_DROP);
        draggableLabel.setDraggingZIndex(100);
        draggableLabel.setDraggingCursor(Cursor.MOVE);
        grid.setWidget(i, 0, draggableLabel);
        cellFormatter.setHeight(i, 0, "50px");
    }
    return grid;
}

次に、グリッドが Panel に追加されます。すべて正常に表示されます。次に、ドロップ可能なウィジェットを作成します。

            public static void createDND(){
    final Label moveHere = new Label("Move here!");
    DroppableWidget<Label> dnd1 = new DroppableWidget<Label>(moveHere);

       dnd1.addDropHandler(new DropEventHandler() { 
           public void onDrop(DropEvent event) {
            Widget droppedLabel= event.getDraggableWidget();
            moveHere.setText("");


          }
        });
        dndPanel1.add(dnd1);
    }

ただし、ラベルをドラッグ アンド ドロップすることはできません。sth が欠落しているように感じますが、何がわかりません。

4

1 に答える 1

0

NATIVE に移行し、GWT HTML5 のドラッグ アンド ドロップ サポートを利用します。また、GWT ソース コードサンプルで設定されたサンプル プロジェクトもあります。

デモ - http://gwt-cloudtasks.appspot.com/

参照 - GWT 2.4 でのドラッグ アンド ドロップ

于 2013-01-22T17:45:17.667 に答える