javafx中button与lmd表达式
时间: 2024-03-10 21:43:46 浏览: 21
Lambda表达式是Java 8中引入的一种简化匿名内部类的语法,它可以用更简短的方式编写匿名内部类的实现。在JavaFX中,我们经常使用Lambda表达式来注册事件处理程序,从而使代码更加简洁和易读。
下面是使用Lambda表达式注册Button事件处理程序的示例代码:
```java
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class ButtonDemo extends Application {
@Override
public void start(Stage primaryStage) {
Button button = new Button("点击我");
button.setOnAction(event -> System.out.println("按钮被点击了!"));
StackPane root = new StackPane();
root.getChildren().add(button);
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle("Button演示");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
```
在这个示例中,我们使用了Lambda表达式来注册Button的事件处理程序。通过使用Lambda表达式,我们省略了创建实现EventHandler接口的匿名内部类的过程,使代码更加简洁。
Lambda表达式的语法非常简单,它由一个参数列表、一个箭头符号和一个表达式组成。在上面的示例中,箭头符号`->`前面的`event`是参数列表,后面的`System.out.println("按钮被点击了!")`是表达式,它定义了事件处理程序的具体实现。在这个表达式中,我们只是简单地输出了一条消息。