gpt4 book ai didi

event-handling - JavaFX:setOnMouseClicked() 和 addEventHandler() 方法之间的区别?

转载 作者:行者123 更新时间:2023-12-04 13:49:25 25 4
gpt4 key购买 nike

当我有一个对象 o 并且我想向它添加一个事件时,假设我希望它在单击时改变颜色(假设它是一个 Rectangle 对象).有什么区别:o.setNonMouseClicked(){ ... }

o.addEventHandler(Action.EventAction, new EventHandler<ActionEvent>(){ ... })

我怎样才能做出正确的选择?

最佳答案

视情况而定

“setOnMouseClicked”将向您的对象添加一个新的事件处理程序。但它也会替换之前通过该方法添加的任何 eventHandler!因此,如果您计划在运行时更改对鼠标单击的 react 方式,那么这是正确的方法。

现在,如果您只想添加另一个(或多个)eventHandler,您应该使用“addEventHander”方法。因此,您将在一侧添加处理程序。如果之前已添加,您将通过“setOnMouseClicked”保留添加的事件处理程序。

还要注意您添加的事件处理程序或监听器,因为它们会导致严重的内存泄漏,因此请务必在必要时将其删除。

关于event-handling - JavaFX:setOnMouseClicked() 和 addEventHandler() 方法之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25708862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com