我有一个带有两个组件的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并将其安装到JLalbel中,调用setTransferHandler。
我试图在JFXPanel中设置一个始终从canImport返回false的传输处理程序,但这没有任何区别。
要修复或解决此问题的任何想法?
使用:Java(TM)SE运行时环境(版本1.7.0_06-b24) 在Linux机器上
答案 0 :(得分:3)
有一个Jira问题可以跟踪该问题:http://javafx-jira.kenai.com/browse/RT-21836
目前它标记为2.2.2候选者,因此您可能希望修复JavaFX 2.2.2更新。一旦Jira回来维修,欢迎您投票支持。