关于java:如何实现双击缩放在javafx中单击?

How to implement zoom on double Click in javafx?

本问题已经有最佳答案,请猛点这里访问。

如何实现DBL点击javafx?

我有一个场景(有许多组件),我想让它可以拖动,也可以双击放大。如何实现这种动态行为?我使用了给定的解决方案,但它们没有帮助当我拖动两次,然后双击事件获取触发器。我不想要的。

我们将感谢您提供一些示例代码。


尝试双击此代码。

1
2
3
4
5
6
7
8
9
10
  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.
                }
            }
        }
    });

我希望它能帮助你。


您可以添加一个等待时间,在开始拖动单次单击之前。

  • 布尔值,指定是否双击

  • 拖放时:将布尔值设置为假

  • 拖放时:在检查布尔值之前等待指定的毫秒
  • 拖放时:检查布尔值是否为false->继续

  • 双击:设置布尔值为真

那应该管用吗?

编辑:在拖放时:在检查布尔值之前等待指定的毫秒-这基本上就是您定义为双击的延迟仍然是双击,而不是两次单独的单击

伊迪丝2:在这种情况下,迈尔对这个问题的评论似乎是一种更好的方式。