【问题标题】:Removing/Consuming Lambda expression events on javafx在 javafx 上删除/使用 Lambda 表达式事件
【发布时间】:2015-05-03 04:48:26
【问题描述】:

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

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

【问题讨论】:

    标签: java javafx event-handling


    【解决方案1】:

    您可以在事件结束时将其设置为空:

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

    注意这将调用mouseExit 侦听器一次

    【讨论】:

      【解决方案2】:

      尝试拨打can.setOnMouseExited(null)

      【讨论】:

      • 您的回答非常有用,我只是没有将其检查为最好,因为您没有扩展并且没有在代码中使用它。无论如何,感谢您的帮助,它成功了!
      猜你喜欢
      • 1970-01-01
      • 2021-09-06
      • 2023-01-31
      • 2020-01-12
      • 1970-01-01
      • 1970-01-01
      • 2012-01-08
      • 2015-05-21
      • 1970-01-01
      相关资源
      最近更新 更多