Integrated: 8141391: Manual JFXPanel DnD test doesn't work
Prasanta Sadhukhan
psadhukhan at openjdk.org
Wed Jul 16 15:36:53 UTC 2025
On Fri, 11 Jul 2025 04:17:24 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:
> 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
>
> It is later found to be an error in the test whereby setOnDragOver and setOnDragDropped event was not being handled in the test
> Fixed the test now..
This pull request has now been integrated.
Changeset: 99866ae1
Author: Prasanta Sadhukhan <psadhukhan at openjdk.org>
URL: https://git.openjdk.org/jfx/commit/99866ae1f197ae5593b728bedceb00121fe4baca
Stats: 24 lines in 1 file changed: 24 ins; 0 del; 0 mod
8141391: Manual JFXPanel DnD test doesn't work
Reviewed-by: kcr, angorya
-------------
PR: https://git.openjdk.org/jfx/pull/1843
More information about the openjfx-dev
mailing list