我正在用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的新手,所以任何帮助都很棒!