0

我有 2 个相同基本类型的 ListView(A 和 B)。我需要实现的是: - 用户从 A 拖动项目,将它们放入 B - 用户从 B 拖动项目,将它们放入 B(重新排列)。

更改必须保存在 sqlite 表中。2 个不同的 sql 查询运行,因此拖放必须有不同的结果。

如果我执行 2X B.setOnDragDropped,我可以根据拖动开始的位置区分 2 吗?

感谢您的帮助,很多 apprich 人

4

1 回答 1

2

如果您setOnDragDropped(...)在同一个节点上调用两次,第二个处理程序将替换第一个处理程序(它是一种set方法,并且与任何其他方法的工作方式相同set:它设置属性的值)。

你需要一些类似的东西

listViewB.addEventHandler(DragEvent.DRAG_DROPPED, e -> {
    // handler code here...
});

您可以使用以下方法确定处理程序内的拖动源

    e.getGestureSource()

并查看它匹配哪个节点以确定操作过程。

于 2016-03-14T22:46:16.383 回答