你如何在Kotlin中实现JavaFX ZoomEvent?

我参与了一个名为“Path Visualizer”的应用程序,它与JavaFXcanvas一起工作。 我对JavaFX很新,并且已经遍布互联网寻找解决这个问题的答案。 我的短期目标是允许跟踪板的缩放function。 这是我的代码片段,不包括主要的方法(注意:你可以在我实现缩放方法之前忽略代码,我只是想包括它,因为它可能是有帮助的):

override fun start(stage: Stage) { stage.title = "Path Visualizer" // set up the paths and autos selectedAutonomous = Autonomous("Auto1") mapAutonomous.put(selectedAutonomous!!.name, selectedAutonomous!!) selectedPath = DefaultPath selectedAutonomous!!.putPath(selectedPath!!.name, selectedPath!!) // setup the layout val buttonsBox = VBox() buttonsBox.spacing = 10.0 addControlsToButtonsBox(buttonsBox) val stackPane = StackPane(canvas) val splitPane = SplitPane(stackPane, buttonsBox) splitPane.setDividerPositions(0.7) stage.scene = Scene(splitPane, 1600.0, 900.0) stage.sizeToScene() //val easeCanvas = Canvas() //anchorPane.bottomAnchor = easeCanvas repaint() stage.show() //This is where I call the Events canvas.onMousePressed = EventHandler { onMousePressed(it) } canvas.onMouseDragged = EventHandler { onMouseDragged(it) } canvas.onMouseReleased = EventHandler { onMouseReleased() } canvas.onZoom = EventHandler { onZoom(it) } //ZOOM METHOD IMPLEMENTED HERE, I don't know if it is the same as implementing other methods // test json writing TestMoshi() } 

这是我试图写的onZoom方法(它和start方法位于同一个类中):

 fun onZoom(e: ZoomEvent) { canvas.scaleX *= e.zoomFactor canvas.scaleY *= e.zoomFactor } 

最后注意:其他事件工作(MousePressed,MouseReleased和MouseDragged),但ZoomEvent不起作用,这是我感到困惑