JavaFX如何拖放图像

时间:2018-10-24 01:24:36

标签: java javafx

我正在用JavaFX制作纸牌游戏,并且找到了可以拖动一段文本的代码。但是,这不会显示正在拖动的文本。

我目前正在做的是将我的场景(即根节点)设置为目标,并将我的卡设置为源。这使我可以在桌面上拖动作为图像视图的卡片,但是我想要做两件事。

首先,我想在拖动图像时实际显示它,然后我希望能够将其放置在场景中。

这是卡的代码

        tempImageView.setOnDragDetected(new EventHandler<MouseEvent>() {
            public void handle(MouseEvent event) {
                /* drag was detected, start a drag-and-drop gesture*/
                /* allow any transfer mode */
                Dragboard db = 
 tempImageView.startDragAndDrop(TransferMode.ANY);

                /* Put a string on a dragboard */
                ClipboardContent content = new ClipboardContent();
                content.putData(tempImageView);
                db.setContent(content);

                event.consume();
            }
        });

这是我的场景的代码

    scene.setOnDragOver(new EventHandler<DragEvent>() {
        public void handle(DragEvent event) {
            /* data is dragged over the target */
            /* accept it only if it is not dragged from the same node 
             * and if it has a string data */
            /* allow for both copying and moving, whatever user chooses */
            event.acceptTransferModes(TransferMode.COPY_OR_MOVE);
            event.consume();
        }
    });

这是我尝试遵循的教程:https://docs.oracle.com/javafx/2/drag_drop/jfxpub-drag_drop.htm

我是JavaFX的新手,所以任何帮助都很棒!

0 个答案:

没有答案