关于MousewheelListener forNode

时间:2014-12-19 12:18:02

标签: java javafx mouseevent

我有一个我无法解决的问题;将MousewheelListener添加到Node

当你用鼠标滚动时,我正试图制作一个Pane大小改变的地方,但我在API中找不到任何名为“MouseWheelListener”的东西。

如何制作一个让Pane对滚动做出反应的监听器?

2 个答案:

答案 0 :(得分:2)

在JavaFX中滚动鼠标滚轮的事件称为ScrollEvent

您可以向节点添加EventHandler

node.addEventHandler(ScrollEvent.SCROLL, (ScrollEvent event) -> {
    // Code for resizing the pane
});

或者(使用FXML)

在您向窗格添加onScroll的fxml文件中:

<Pane fx:id="pane" onScroll="#nameOfMethodToBeOverridden">
  ...
</Pane>

(如果您使用的是SceneBuilder,可以在Code部分中完成)

控制器中,您可以使用以下方式处理onScroll

@FXML
private Pane pane;

@FXML
private void nameOfMethodToBeOverridden(){
     // Code for resizing the pane
}

答案 1 :(得分:0)

要在节点上侦听滚动事件,请使用

node.addEventHandler(ScrollEvent.SCROLL, (ScrollEvent event) -> {
   // code to execute on scroll...
});