JavaFX:在拖放过程中更改光标

时间:2013-02-22 08:14:26

标签: drag-and-drop cursor javafx-2

我正在尝试在拖放过程中更改节点上的光标,但图像没有变化。我在我的节点的setCursor()中呼叫DragDetectedEventHandler。我也试过调用getParent().setCursor()并得到了相同的结果。我也试过在其他各种事件处理程序中执行此操作,例如鼠标按下并拖动。最好的是,我在释放鼠标按钮后让图像发生变化,但我需要在拖动过程中使图像不同。有谁知道怎么做?

private class DragDetectedEventHandler implements EventHandler<MouseEvent> {

    @Override
    public void handle(MouseEvent mouseEvent) {
        System.out.println("Drag Detected");
        Dragboard db = startDragAndDrop(TransferMode.MOVE);
        ClipboardContent content = new ClipboardContent();
        content.putString("sample-drag-text");
        db.setContent(content);
        setCursor(_imageCursor);
        mouseEvent.consume();
    }
}

1 个答案:

答案 0 :(得分:13)

尝试

((Node) mouseEvent.getSource()).setCursor(Cursor.HAND);

如果不起作用,请发布包含DragDetectedEventHandler的完整类代码。