JavaFX触发Mouse Release事件而没有首先触发Mouse Press事件

时间:2016-01-16 13:11:10

标签: java events javafx

我有一个单选按钮,我希望用户能够在从另一个组件按下鼠标后释放鼠标。有效;用户按下其他组件,将鼠标拖动到此单选按钮,然后释放鼠标,触发鼠标释放事件。

但是,我使用的方法不允许我这样做。

radioButton.addEventHandler(MouseEvent.MOUSE_RELEASED, event -> System.out.println("RELEASE!"));

按下单选按钮后释放鼠标时,我只在控制台中收到"RELEASE!"消息。我怎样才能做到这一点我只能触发发布活动?

感谢。

1 个答案:

答案 0 :(得分:0)

使用MouseDragEvent.MOUSE_DRAG_RELEASED事件代替MouseEvent.MOUSE_RELEASED事件,并在startFullDrag()事件上使用DRAG_DETECTED(否则无法检测到拖动)。

实际上:

radioButton.addEventHandler(MouseEvent.MOUSE_RELEASED, event -> System.out.println("RELEASE!"));
//The starting node in which the drag is started
node.setOnDragDetected(event -> node.startFullDrag());