Issue is when `JFXPanel `is used to embed some JavaFX components and when we drag something from swing or an external application and try to drop on a JavaFX component inside the JFXPanel, it doesn't accept the drop showing "block" sign suggesting DnD is blocked.
The problem is in both drag and drop side of operations where `acceptDrag `and `acceptDrop `on `DropTargetDragEvent `is not called because `DragEvent constructor` called from `Scene ` [which is called from `SwingDnD `via `EmbeddedSceneDTInterface.handleDragEnter` and `handleDragDrop] ` is not storing `state.acceptedTransferMode` when eventType is not `DragEvent.DRAG_DROPPED` or `DragEvent.DRAG_DONE` but Scene creates DragEvent with only `DragEvent.ANY` so `handleDragEnter `and `handleDragDrop `returns null as `DragEvent.getAcceptedTransferMode` returns null Fix is made so that instead of relying on return value of handleDragEnter/handleDragDrop which seems to be always null for reason mentioned above, we rely on `isDataFlavorSupported `check for the drag and drop as is being done in JDK side of DnD scheme. Also, to have a proper drop of the data, we get the focus owner from the JFXPanel scene and insert the text in the location pointed to by the mouse cursor. Regression test is already present in tests/manual/swing/DragDropOntoJavaFXControlInJFXPanelTest.java ------------- Commit messages: - whitespace - 8141391: DnD doesn't work for JFXPanel Changes: https://git.openjdk.org/jfx/pull/1843/files Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1843&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8141391 Stats: 48 lines in 1 file changed: 36 ins; 4 del; 8 mod Patch: https://git.openjdk.org/jfx/pull/1843.diff Fetch: git fetch https://git.openjdk.org/jfx.git pull/1843/head:pull/1843 PR: https://git.openjdk.org/jfx/pull/1843