如何在 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+ 瀏覽

開啟你的職業生涯

完成課程後獲得認證

開始
廣告