LifeCycle_ClassEventHandling |
- JavaFX runtime creates several threads. At different stages in
the application, threads are used to perform different tasks.
- The JavaFX runtime creates,two threads, among other threads,
• JavaFX-Launcher
• JavaFX Application Thread
- The launch() method of the Application class, is called only
once; and it invokes the following threads.
- JavaFX runtime calls the following methods of the specified
JavaFX Application class in order:
• The no-args constructor
• The init() method : JavaFX Launcher Thread calls the init().; this
thread can't have a Stage or Scene
• The start() method:: This thread contains Stage and Scene
• The stop() method
- EventHandler in a class;
- Platform.exit()
|
Code :
package javafxtemplate1;
import javafx.application.Application;
import javafx.application.Platform;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.stage.Stage;
/**
*
* @author Manas9
*/
public class JavaFXTemplate1 extends Application {
public String str1;
@Override
public void init() {
str1 = Thread.currentThread().getName();
//System.out.println("init() method: " + name);
}
@Override
public void start(Stage primaryStage) {
Group groot = new Group();
Button btn1 = new Button("Title Button1");
Button btn2 = new Button("Exit Platform");
btn1.setLayoutX(100);btn1.setLayoutY(80);
Label label1 = new Label("Label");
label1.setLayoutX(90);label1.setLayoutY(40);
//Lambda expression class
btn1.setOnAction((ActionEvent e) -> {
// System.out.println(str1+ "Hello World");
label1.setText(str1);//
primaryStage.setTitle("Hello World");
});
btn2.setOnAction(new DemoEventHandler1(){ });
groot.getChildren().addAll(btn1, label1, btn2);
Scene scene = new Scene(groot, 200, 150);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
class DemoEventHandler1 implements EventHandler<ActionEvent>{
@Override
public void handle(ActionEvent event) {
Platform.exit();
}
}
|
Runtime Views: (Click on Exit Platform to close the display stage.

Title Button

|
Exit Platform will close the application. |
|
|