NullPointerException on Drag and Drop inside

Issue #27 resolved
Cezary Kujawa created an issue

I intend to handle drag and drop between two components that are inside two different detachable tabs. The problem is that a Tab dragging handler throws NPE. I think that you should use javafx.scene.input.DataFormat to check if it is a Tab that is being dragged since I see that your data format is declared in l. 197 : private static final DataFormat dataFormat = new DataFormat("dragAwareTab");

#!

Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
    at com.panemu.tiwulfx.control.DetachableTabPane$4.handle(DetachableTabPane.java:127)
    at com.panemu.tiwulfx.control.DetachableTabPane$4.handle(DetachableTabPane.java:1)
    at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
    at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
    at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
    at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
    at javafx.event.Event.fireEvent(Event.java:198)
    at javafx.scene.Scene$DnDGesture.fireEvent(Scene.java:2900)
    at javafx.scene.Scene$DnDGesture.processTargetEnterOver(Scene.java:3072)
    at javafx.scene.Scene$DnDGesture.access$5900(Scene.java:2876)
    at javafx.scene.Scene$DropTargetListener.dragEnter(Scene.java:2780)
    at com.sun.javafx.tk.quantum.GlassSceneDnDEventHandler.lambda$handleDragEnter$294(GlassSceneDnDEventHandler.java:57)
    at com.sun.javafx.tk.quantum.GlassSceneDnDEventHandler$$Lambda$523/716848117.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.tk.quantum.GlassSceneDnDEventHandler.handleDragEnter(GlassSceneDnDEventHandler.java:53)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleDragEnter(GlassViewEventHandler.java:620)
    at com.sun.glass.ui.View.handleDragEnter(View.java:686)
    at com.sun.glass.ui.View.notifyDragEnter(View.java:1008)
    at com.sun.glass.ui.gtk.GtkDnDClipboard.pushToSystemImpl(Native Method)
    at com.sun.glass.ui.gtk.GtkDnDClipboard.pushToSystem(GtkDnDClipboard.java:39)
    at com.sun.glass.ui.SystemClipboard.flush(SystemClipboard.java:51)
    at com.sun.glass.ui.ClipboardAssistance.flush(ClipboardAssistance.java:59)
    at com.sun.javafx.tk.quantum.QuantumClipboard.flush(QuantumClipboard.java:274)
    at com.sun.javafx.tk.quantum.QuantumToolkit.startDrag(QuantumToolkit.java:1151)
    at javafx.scene.Scene$DnDGesture.dragDetectedProcessed(Scene.java:2920)
    at javafx.scene.Scene$DnDGesture.process(Scene.java:2989)
    at javafx.scene.Scene$DnDGesture.access$8000(Scene.java:2876)
    at javafx.scene.Scene$MouseHandler.process(Scene.java:3740)
    at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3452)
    at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1728)
    at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2461)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:348)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:273)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:382)
    at com.sun.glass.ui.View.handleMouseEvent(View.java:553)
    at com.sun.glass.ui.View.notifyMouse(View.java:925)
    at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
    at com.sun.glass.ui.gtk.GtkApplication.lambda$null$45(GtkApplication.java:126)
    at com.sun.glass.ui.gtk.GtkApplication$$Lambda$42/584634336.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:745)

Comments (1)

  1. Log in to comment