JavaFX - 如何在单个节点上使用多个相同类型的事件处理程序
JavaFX - How to use multiple same type of event handlers on a single node
我有 2 个基本类型相同的 ListView(A 和 B)。我需要实现的是:
- 用户将项目从 A 拖放到 B 中
- 用户从 B 拖动项目,将它们放入 B(重新排列)。
更改必须保存在 sql 站点 table 中。 2 次不同的 sql 查询运行,因此拖放必须有不同的结果。
如果我做 2X B.setOnDragDropped,我可以根据拖动开始的位置来区分 2 吗?
感谢各位大侠的帮助
如果您在同一个节点上调用 setOnDragDropped(...)
两次,第二个处理程序将替换第一个处理程序(这是一个 set
方法,并且与任何其他处理程序的工作方式相同 set
方法:设置a的值属性).
你需要一些类似
的东西
listViewB.addEventHandler(DragEvent.DRAG_DROPPED, e -> {
// handler code here...
});
您可以使用
确定处理程序内部的拖动源
e.getGestureSource()
并查看它与哪个节点匹配以确定操作过程。
我有 2 个基本类型相同的 ListView(A 和 B)。我需要实现的是: - 用户将项目从 A 拖放到 B 中 - 用户从 B 拖动项目,将它们放入 B(重新排列)。
更改必须保存在 sql 站点 table 中。 2 次不同的 sql 查询运行,因此拖放必须有不同的结果。
如果我做 2X B.setOnDragDropped,我可以根据拖动开始的位置来区分 2 吗?
感谢各位大侠的帮助
如果您在同一个节点上调用 setOnDragDropped(...)
两次,第二个处理程序将替换第一个处理程序(这是一个 set
方法,并且与任何其他处理程序的工作方式相同 set
方法:设置a的值属性).
你需要一些类似
的东西listViewB.addEventHandler(DragEvent.DRAG_DROPPED, e -> {
// handler code here...
});
您可以使用
确定处理程序内部的拖动源 e.getGestureSource()
并查看它与哪个节点匹配以确定操作过程。