Перетащите из application / Transferupport.getTransferable (). GetTransferData (DataFlavor.javaFileListFlavor) возвращаемое исключение - PullRequest
0 голосов
/ 07 ноября 2019
System.out.println(item.getClass());  // class java.awt.datatransfer.DataFlavor
 DataFlavor file =  (DataFlavor)item;
 System.out.println(file.getPrimaryType()); // application 
 System.out.println(file.getHumanPresentableName());class  // application/x-java-file-list

Привет, у меня проблема с перетаскиванием из приложения в приложение Java. Если я перетаскиваю файл из окна, проводник работает, но если я перетаскиваю элемент электронной почты из GroupWise Mail (Novell), он не работает. Если я перетаскиваю элемент электронной почты из GroupWise в Windows Explorer, он создает файл * .GWI, а затем этот файл, который я перетаскиваю в свое Java-приложение, также работает, но я хочу сделать это напрямую из GroupWise в мое Java-приложение.

Я выяснил, что происходит, и меня беспокоит то, что, когда я делаю это:

List data = (List) ts.getTransferable().getTransferData(
DataFlavor.javaFileListFlavor);

, возвращается исключение, говорящее:

java.io.IOException: no native data was transfered
    at sun.awt.dnd.SunDropTargetContextPeer.getTransferData(SunDropTargetContextPeer.java:281)
    at sun.awt.datatransfer.TransferableProxy.getTransferData(TransferableProxy.java:73)
    at java.awt.dnd.DropTargetContext$TransferableProxy.getTransferData(DropTargetContext.java:376)
    at gui.nuevaEntrada$FileListTransferHandler.importData(nuevaEntrada.java:178)
    at javax.swing.TransferHandler$DropHandler.drop(TransferHandler.java:1544)
    at java.awt.dnd.DropTarget.drop(DropTarget.java:455)
    at javax.swing.TransferHandler$SwingDropTarget.drop(TransferHandler.java:1282)
    at sun.awt.dnd.SunDropTargetContextPeer.processDropMessage(SunDropTargetContextPeer.java:538)
    at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchDropEvent(SunDropTargetContextPeer.java:852)
    at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchEvent(SunDropTargetContextPeer.java:776)
    at sun.awt.dnd.SunDropTargetEvent.dispatch(SunDropTargetEvent.java:48)
    at java.awt.Component.dispatchEventImpl(Component.java:4744)
    at java.awt.Container.dispatchEventImpl(Container.java:2297)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
    at java.awt.LightweightDispatcher.processDropTargetEvent(Container.java:4609)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4471)
    at java.awt.Container.dispatchEventImpl(Container.java:2283)
    at java.awt.Window.dispatchEventImpl(Window.java:2746)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
    at java.awt.EventQueue$4.run(EventQueue.java:733)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Если есть кто-то, кто может мне помочь, заранее благодарю.

...