Event handlers form the core of any application. They define what happens when you click a button, press a key, select a menu and so on.
The discussion on this site demonstrates how to use Lambda expressions to handle events. It is elegant and greatly simplifies your code.
The old way of handling a button-click looks like this:
The following is a Lambda expression using a "goes to" operator (->):
Even more elegant:
Now a greater improvement in programming style: This last format allows you to neatly line up your event handler methods as follows:
Now you have no excuse to write crappy code. Be elegant and lucid and fast.
The discussion on this site demonstrates how to use Lambda expressions to handle events. It is elegant and greatly simplifies your code.
The old way of handling a button-click looks like this:
Button btn = new Button(); btn.setText("Say 'Hello World'"); btn.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { System.out.println("Hello World!"); } }); |
Button button = new Button("Click");
button.setOnAction(value -> {
label.setText("Clicked!");
});
|
someButton.setOnAction(evt -> someMethod())
Now a greater improvement in programming style: This last format allows you to neatly line up your event handler methods as follows:
public class Test1 extends Application { @Override public void start(Stage primaryStage) { Button btn = new Button(); btn.setText("Say 'Hello World'"); btn.setOnAction(event -> handler()); StackPane root = new StackPane(); root.getChildren().add(btn); Scene scene = new Scene(root, 300, 250); primaryStage.setTitle("Hello World!"); primaryStage.setScene(scene); primaryStage.show(); } public void handler() { System.out.println("Hello World!"); } } |
Now you have no excuse to write crappy code. Be elegant and lucid and fast.
Powerful.
ReplyDelete