【问题标题】:detect enter event while mouse is pressed javafx按下鼠标时检测输入事件javafx
【发布时间】:2018-05-12 05:55:22
【问题描述】:

如何检测鼠标按下时鼠标进入了节点?

示例:我用鼠标左键按下平移,然后在平移中输入一个圆圈。如果我尝试检测鼠标进入圆圈,则无法检测到。

pane.setOnMousePressed(e -> System.out.println("Pressed"));
c.setOnMouseEntered(e -> System.out.println("Entered"));

c 是放置在窗格上的圆形对象。如果鼠标按下并且我进入圆圈“Entered”不会出现。

我该如何克服这个问题?谢谢。

【问题讨论】:

标签: java javafx javafx-8


【解决方案1】:

感谢James_D 帮助解决了这个问题。

解决方案:

当拖动窗格时,我们将注册一般拖动事件并从此窗格开始完全拖动。接下来我们将在圆圈上使用鼠标拖动进入事件来检测是否拖动进入圆圈。

pane.setOnDragDetected(e -> pane.startFullDrag());
c.setOnMouseDragEntered(e -> System.out.println("Solved :)"));

就是这样。

【讨论】:

  • 如果您也想触发单击,则需要添加c.setOnMouseClicked(e -> System.out.println("Solved :)"));
猜你喜欢
  • 1970-01-01
  • 2014-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-20
  • 1970-01-01
  • 2021-07-12
相关资源
最近更新 更多