Ich brauche etwas Hilfe. Ist es möglich, einen Drag & Drop ohne eine Komponente zu registrieren?
Zum Beispiel Ich klicke mit der Maustaste irgendwo auf das Fenster und halte die Maustaste gedrückt, in diesem Moment möchte ich eine DragSourceEvent
programmatisch mit Java erstellen oder simulieren.Drag & Drop mit Schwung
Ist das möglich?
Update:
In Bezug auf Bobs Antwort, zumindest habe ich es, ich einen Listener für das Drag & Drop erstellen:
DragSource dragSource = new DragSource();
DragGestureListener listener = new DragGestureListener() {
public void dragGestureRecognized(DragGestureEvent event) {
event.startDrag (null, strSel) ;
...
}
}
listener.dragGestureRecognized(new DragGestureEvent(
new DragGestureRecognizer(dragSource, component) {
}, DnDConstants.ACTION_COPY, new Point(0,0), events));
aber leider bekomme ich diese Ausnahme:
java.lang.IllegalArgumentException: Quellaktionen unter java.awt.dnd.DragSour ceContext. (DragSourceContext.java:169) bei java.awt.dnd.DragSource.createDragSourceContext (DragSource.java:454) bei java.awt.dnd.DragSource.startDrag (DragSource.java:293) bei java.awt.dnd.DragSource.startDrag (DragSource.java:403) bei java.awt.dnd.DragGestureEvent.startDrag (DragGestureEvent.java:203)
irgendwelche Vorschläge?
Warum möchten Sie keine Komponente registrieren? Ja, es ist möglich, die richtige API aufzurufen, aber Sie können auch eine Komponente registrieren und sie unsichtbar machen usw. – bguiz