DropTargetDropEvent - Modifier Keys herausfinden

Status
Nicht offen für weitere Antworten.
M

masterdot

Gast
Wie finde ich heraus bei einem eintreffenden DropTargetDropEvent ob ein Modifier Key wie ALT, STRG, CTRL oder ähnliches gedrückt wurde?

Ich habe nun soweit alles durch und finde keine passende Lösung.

Evtl jemand von euch eine Idee?
 

Marco13

Top Contributor
Hm - soweit ich weiß, ist EINES der Ziele des Drag&Drop-Support von Java Swing, von solchen Sachen zu abstrahieren. D.h. bei Win, Linux und MacOS ist das Drag&Drop ja (evtl.) unterschiedlich gehandhabt - vom DropTargetDropEvent bekommt man (soweit ich weiß) nurnoch die DropAction, wie z.B. TransferHandler.COPY - Unter Windows heißt das dann zwar "CTRL wurde gedrückt gehalten", aber auf anderen Betriebssystemen könnte es anders sein.

Eine Möglichkeit wäre aber vielleicht(!!!) ein DragGestureListener...
Code:
        DragSource.getDefaultDragSource().createDefaultDragGestureRecognizer(
            dragSourceComponent, supportedActions, new SomeDragGestureListener());
...
    class SomeDragGestureListener implements DragGestureListener ... {
    {
        public void dragGestureRecognized(DragGestureEvent e)
        {
            InputEvent event = e.getTriggerEvent();
            
            .... event.isControlDown() ....
aber das müßte ich auch erst testen und mir nochmal genauer ansehen - das DnD ist ziemlich ... mächtig (d.h. komplex :wink: ) und ich bin da kein Experte....
 

Wildcard

Top Contributor
Nicht direkt. Wenn eine dieser Tasten gedrückt wird, verändert sich die DropAction. Alles weitere steht in der Java-Doc zu DropTargetDragEvent

EDIT: too late
 
M

masterdot

Gast
an sich war das eine gute idee mit dem "taste aendert den drop event", stimmt auch wirklich, aber ist so nicht in das programm integrierbar.

aber dann habe ich zumindest richtig gesehen das es nicht so direkt moeglich ist.
erklaert natuerlich auch wenn ich an die aenderung des drag and drop verhaltens denke.

muss ich mir wohl was einfallen lassen...
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben