Ich stelle in einer View den inhalt eines Objektes vom Typ Kunde dar. Die view dient als reine Nutzerinformation. Jetzt möchte ich für das gesamte Objekte den dnd Support aktivieren. Also wenn jemand irgendwo innerhalb der Form anfängt die maustaste gedrückt zu halten beginnt das DND. Aber irgendwie scheint das nicht zu gehen. Ich kann nicht den gesamten Formbody als DragSource angeben. Was muss ich ändern?
Hier mal der Code zum anlegen des ganzen:
Benutze ich das draglabel (Oben auskommentiert) als DragSource klappt alles. Aber wie schon gesagt es soll egal sein wo im Form der Drag&Drop Support beginnt. Nicht nur über einen bestimmten Steuerlelement.
Hier mal der Code zum anlegen des ganzen:
Java:
DragSource ds = new DragSource(form.getBody(),DND.DROP_LINK);
//draglabel = new Label(form.getBody(), SWT.NONE);
ds.setTransfer(new Transfer[]{KundenTransfer.getInstance()});
ds.addDragListener(new DragSourceListener()
{
@Override
public void dragFinished(DragSourceEvent event)
{
}
@Override
public void dragSetData(DragSourceEvent event) {
System.out.println("check issupportedtype: " + event.dataType);
if (KundenTransfer.getInstance().isSupportedType(event.dataType))
{
event.data = data;
}
}
@Override
public void dragStart(DragSourceEvent event) {
System.out.println("dragstart");
if (data==null || data.getDeleted())event.doit=false;
}
});
Benutze ich das draglabel (Oben auskommentiert) als DragSource klappt alles. Aber wie schon gesagt es soll egal sein wo im Form der Drag&Drop Support beginnt. Nicht nur über einen bestimmten Steuerlelement.