Application启动方式和生命周期

Posted by     "麦子" on Saturday, 2021年12月25日

JavaFX的生命周期

在JavaFX中,Application类负责管理程序的生命周期。程序的生命周期包含的五步:

  1. 建立Application类的实例。
  2. 调用init方法。默认的init方法什么也不做,但我们可以重新该方法,以实现特定的初始化任务。
  3. 调用start方法。这是一个抽象方法,因此我们创建的Application的子类必须实现该方法。start方法用于创建并显示UI接口。
  4. 消息处理,完成用户任务,等待应用程序结束。
  5. 调用stop方法。该方法提供了在程序结束前完成一些必要任务的机会,如内存释放等。

主线程和UI线程

public class FX_Life extends Application {

    public static void main(String[] args) {
        System.out.println("main:主线程----->" + Thread.currentThread().getName());
        launch(args);
    }

    @Override
    public void init() throws Exception {
        super.init();
        System.out.println("生命初始化:init,不是UI线程,只能处理一些逻辑处理--->" + Thread.currentThread().getName());
    }

    @Override
    public void start(Stage primaryStage) throws Exception {
        System.out.println("生命开始: start, UI线程----->" + Thread.currentThread().getName());
        primaryStage.show();

    }

    @Override
    public void stop() throws Exception {
        System.out.println("生命结束: stop, UI线程--->" + Thread.currentThread().getName());
        super.stop();
    }

}

运行结果如下:

main主线程----->main
生命初始化init不是UI线程只能处理一些逻辑处理--->JavaFX-Launcher
生命开始: start, UI线程----->JavaFX Application Thread
生命结束: stop, UI线程--->JavaFX Application Thread



「真诚赞赏,手留余香」

真诚赞赏,手留余香

使用微信扫描二维码完成支付