删除/使用javafx上的Lambda表达式事件

删除/使用javafx上的Lambda表达式事件,java,javafx,event-handling,Java,Javafx,Event Handling,因此,我使用javafx在画布中创建了一个带有lambda表达式的事件,我希望在使用后将其删除,下面是事件: can.setOnMouseExited(event->{ gc.clearRect(0, 0, 100, 100); gc.setStroke(Color.BLACK); gc.strokeRect(0, 0, 100, 100); }); 尝试调用can.setOnMouseExited(null)您可以在事件结束时将其设置为null: can.set

因此,我使用
javafx
在画布中创建了一个带有lambda表达式的事件,我希望在使用后将其删除,下面是事件:

can.setOnMouseExited(event->{
    gc.clearRect(0, 0, 100, 100);
    gc.setStroke(Color.BLACK);
    gc.strokeRect(0, 0, 100, 100);
});

尝试调用can.setOnMouseExited(null)您可以在事件结束时将其设置为null:

can.setOnMouseExited(event->{
   gc.clearRect(0, 0, 100, 100);
   gc.setStroke(Color.BLACK);
   gc.strokeRect(0, 0, 100, 100);
   can.setOnMouseExited(null);
});

N.B.这将调用
mouseExit
侦听器一次。

您的答案非常有用,我只是没有检查它,因为您没有展开,也没有在代码中使用它。不管怎样,谢谢你的帮助,它成功了!