从应用程序/ transfersupport.getTransferable()。getTransferData(DataFlavor.javaFileListFlavor)拖放返回异常

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应用程序时遇到问题。如果我从Windows资源管理器中拖动文件,但从GroupWise Mail(Novell)中拖动电子邮件,则无法正常工作。如果我将电子邮件项从GroupWise拖到Windows资源管理器,它将创建一个* .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)

如果有人可以帮助我,我先谢谢你。

sunlei890325sunlei 回答:从应用程序/ transfersupport.getTransferable()。getTransferData(DataFlavor.javaFileListFlavor)拖放返回异常

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3144346.html

大家都在问