如何在 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); } } }
输出
广告