当我有一个对象o
并且我想要向它添加一个事件时,让我说我希望它在点击时改变它的颜色(假设它是一个Rectangle
对象)。有什么区别:
o.setNonMouseClicked(){ ... }
和
o.addEventHandler(Action.EventAction, new EventHandler<ActionEvent>(){ ... })
如何正确选择?
答案 0 :(得分:3)
这取决于具体情况。
&#34; setOnMouseClicked&#34;将为您的对象添加一个新的EventHandler。但它也将取代之前通过该方法添加的任何eventHandler!因此,如果你计划在运行时改变对鼠标点击作出反应的方式,这是正确的方法。
现在,如果你只想添加另一个eventHandler(或几个),你应该使用&#34; addEventHander&#34;方法。因此,您将在一侧添加处理程序。并且您将通过&#34; setOnMouseClicked&#34;添加eventHandler。如果以前添加过。
还要注意你添加的eventHandler或者监听器,因为它们会导致严重的内存泄漏,所以一定要在必要时将其删除。