如何实现dbl点击javafx?如何在double上实现缩放在javafx中单击?
我有一个场景(有许多组件),我想让它拖动以及双击可放大。我如何实现这种动态行为? 我已经使用了给定的解决方案,但他们没有帮助 当我拖动两次然后双击事件获取触发器。我不想要。
一些示例代码将不胜感激。
如何实现dbl点击javafx?如何在double上实现缩放在javafx中单击?
我有一个场景(有许多组件),我想让它拖动以及双击可放大。我如何实现这种动态行为? 我已经使用了给定的解决方案,但他们没有帮助 当我拖动两次然后双击事件获取触发器。我不想要。
一些示例代码将不胜感激。
您可以添加一个等待时间,在单击的拖动开始之前。
布尔值,指定是否双击发生
在拖/放:设定布尔假
上拖动之前等待指定的毫秒/ drop:检查布尔值是否为false - >继续
双击:设置布尔值true
这应该工作吗?
编辑:在拖/放:检查布尔之前等待指定的毫秒 - 这基本上是您定义为双击仍然是双击,而不是两个单独的点击
延迟EDIT2:米莱对评论在这种情况下,这个问题似乎是更好的办法。
你的答案即将实现我想要但不完全。最好的部分是基于两次点击之间的拖动,点击和时间跨度来检测和管理鼠标释放事件(如果未拖动它)。 –
尝试此代码进行双击。
myPane.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent mouseEvent) {
if(mouseEvent.getButton().equals(MouseButton.PRIMARY)){
if(mouseEvent.getClickCount() == 2){
//Write zooming logic here.
}
}
}
});
我希望它能帮到你。
@Adam问题是在两种情况下调用的鼠标释放事件。那么如何在发布中识别它是双击发布还是单击发布。 –
您是否在检查双击之前尝试检查鼠标事件是否是DRAG_DETECTED事件? – Miles
@Miles它似乎工作我会用最终的代码更新一次完成。 –