2017-12-14 6 views
-1

ZK MVCコントローラに問題があります。ZK MVC 2つのリストボックスの間のドラッグ&ドロップ

2つのリストボックス(右と左)の間でドラッグ&ドロップを管理したいと思います。右に

このコードロード項目は:

for(int i=0;i<lstEtic.size();i++) { 
     Listitem li = new Listitem(); 
     System.out.println(lstEtic.get(i)); 
     addListcell(li,lstEtic.get(i)); 
     right.appendChild(li); 

    } 

左リストボックスが空です。

質問: Javaコントローラのドラッグアンドドロップイベントを管理するためのコード例を教えてください。

+0

質問を具体的にする必要があります。あなたのリストボックスをどのように埋め込むかは本当に関係ありません。ドラッグ・アンド・ドロップがどのように詳細に機能するのかを知ることはもっと面白いでしょう。ここに[公式ドキュメントの例](https://www.zkoss.org/wiki/ZK_Developer%27s_Reference/UI_Patterns/Drag_and_Drop)があります。それは、リスト項目をドラッグすることさえ扱うので、あなたのケースにそれを適応させるのはかなり簡単です。問題があれば更新してください。 –

+0

コントローラクラスのドラッグアンドドロップイベントを管理するコードが必要です。@ MalteHartwig –

+0

私は知っています、あなたはすでにそれを言っています。私はあなたの特定の問題がどこにあるか知りたがっていました。ドキュメンテーションは 'droppable'と' draggable'を設定し、 'onDrop'リスナを追加する必要があることをうまく示しています。あなたはzulまたはjavaの両方でこれを行うことができます。 –

答えて

0

ここには、documentation I mentionedに基づく例があります。必要な属性設定とonDropリスナーをすべてJavaに移行するのは非常に簡単です。

<hlayout width="400px" height="400px" apply="path.to.MyComposer"> 
    <listbox id="left" hflex="1" vflex="1" /> 
    <listbox id="right" hflex="1" vflex="1" /> 
</hlayout> 

public class MyComposer 
    extends SelectorComposer<Component> 
{ 
    @Wire 
    private Listbox left; 
    @Wire 
    private Listbox right; 

    @Override 
    public void doAfterCompose(Component comp) 
     throws Exception 
    { 
     super.doAfterCompose(comp); 

     for (int i = 0; i < 10; i++) 
     { 
      Listitem li = new Listitem(); 
      li.appendChild(new Listcell("Item " + i)); 
      li.setDraggable("true"); 
      right.appendChild(li); 
     } 

     left.setDroppable("true"); 
     left.addEventListener(Events.ON_DROP, 
           (DropEvent event) -> left.appendChild(event.getDragged())); 
    } 
} 
+0

ありがとう!サポートのために! –

+0

ドラッグ&ドロップが動作しますが、左側のリストボックスのListitemを読むと空白になります –

+0

空白はどういう意味ですか?彼らにはラベルが付いていないのですか?またはその値がnullですか? –

関連する問題