如何在 JavaFX 中使用方法引用实现 ActionEvent?


javafx.event 包提供了一个用于 Java FX 事件的框架。Event 类用作 JavaFX 事件的基类,并且与每个事件关联有一个 事件源、一个 事件目标和一个 事件类型。当按下按钮时,ActionEvent 被广泛使用。

在下面的程序中,我们可以通过使用 方法引用为按钮实现 ActionEvent

示例

import javafx.application.*;
import javafx.beans.property.*;
import javafx.event.*;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.stage.*;
import javafx.scene.effect.*;

public class MethodReferenceJavaFXTest extends Application {
   private Label label;
   public static void main(String[] args) {
      launch(args);
   }
   @Override
   public void start(Stage primaryStage) {
      Pane root = new StackPane();
      label = new Label("Method Reference");
      Button clickMe = new Button("Click Me");
      clickMe.setOnAction(this::handleClickMe);    // method reference
      root.getChildren().addAll(label, clickMe);

      primaryStage.setTitle("Method Reference Test");
      primaryStage.setScene(new Scene(root, 300, 200));
      primaryStage.show();
   }
   private void handleClickMe(ActionEvent event) {
      if(label.getEffect() == null) {
         label.setEffect(new BoxBlur());
      } else {
         label.setEffect(null);
      }
   }
}

输出



更新于: 2020-07-13

2K+ 浏览

开启你的职业生涯

完成课程后获得认证

开始
广告