我有一个包含两个组件的JPanel。一种是JFXPanel和JLabel,当我在单独的窗口中从JTree拖动项目时,我得到了一个NPE异常
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javafx.embed.swing.SwingDnD$2.dragDropEnd(SwingDnD.java:119)
at java.awt.dnd.DragSource.processDragDropEnd(DragSource.java:769)
at java.awt.dnd.DragSourceContext.dragDropEnd(DragSourceContext.java:437)
at sun.awt.dnd.SunDragSourceContextPeer$EventDispatcher.run(SunDragSourceContextPeer.java:491)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:711)
at java.awt.EventQueue.access$000(EventQueue.java:104)
at java.awt.EventQueue$3.run(EventQueue.java:672)
at java.awt.EventQueue$3.run(EventQueue.java:670)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:681)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)如果我删除JFXPanel,我不会得到任何异常,当JFXPanel存在时,当我将元素拖放到JLabel或JFXPanel中时,异常就会发生。
我通过实现我的TransferHandler进行拖放,并调用setTransferHandler将其安装到JLalbel中。
我尝试在JFXPanel中设置一个总是从canImport返回false的传输处理程序,但这没有任何区别。
有什么办法可以解决这个问题吗?
在Linux机器上使用: Java(TM) SE Runtime Environment (build 1.7.0_06-b24)
发布于 2012-08-23 18:39:29
有一个Jira问题可以跟踪这个问题:http://javafx-jira.kenai.com/browse/RT-21836
目前它被标记为2.2.2候选版本,因此您可能会期待JavaFX 2.2.2更新中的修复。另外,一旦Jira从维护中回来,欢迎您投票支持它。
https://stackoverflow.com/questions/12082506
复制相似问题