Drag&Drop

Anfang  Zurück  Vor

Letzte Änderung 01.07.2011

 

Die Umsetzung von Drag&Drop erfolgt in 2 Schritten. Im ersten Step wird bei der Quell-Komponente ein Maus-Drag-Ereignis dragGestureRecognized( ) registriert. Sobald das Drag-Ereignis ausgelöst wird, wird zuerst das zu verschiebende Objekt ermittelt, z.B. ein aktuell selektierter ListBox-Eintrag mit listBox.getSelectedItem( ). Mit Hilfe der Methode startDrag( ) wird das Verschieben des Objektes dann ermöglicht. Im zweiten Step wird bei einer Ziel-Komponente ein Drop-Ereignis registriert, mit dem sich ein beliebiges Drop-Objekt aufnehmen lässt. Abschließend wird das Objekte der Zielkomponente Zugewiesen und damit auf der Oberfläche angezeigt.

 

 

1.Fügen Sie 2 ListBoxen nebeneinander in die Arbeitsfläche ein.

2.Ziehen Sie eine Virtuelle Tabelle, z.B. Extras, per Drag&Drop auf die erste ListBox, um diese zum Programmstart zu füllen.

3.Klicken Sie im ListBox-Quickinfo auf Ereignisse > Drag'n'Drop > dragGestureRecognized, um ein Maus-Drag-Ereignis zu registrieren.

clip0305

4.Geben Sie folgende Anweisung ein:

@EventHandlerDelegate void listBox_dragGestureRecognized(DragGestureEvent event) 

{

   event.startDrag(listBox.getSelectedItem());

}

 

5.Klicken Sie die zweite ListBox an, Klicken Sie im ListBox-Quickinfo auf Ereignisse > Drag'n'Drop > drop, um ein Drop-Ereignis zu registrieren.

clip0306

6.Geben Sie folgende Anweisungen ein:

@EventHandlerDelegate void listBox2_drop(DropEvent event) 

{

   Entry test = new Entry(event.getData());

   listBox2.getItemList().add(test);      

}

 

 

clip0148