1、JavaFX 应用程序 demo要继承javafx.application.Application类,Application类是一个抽象类,
start是其中的抽象方法,所以demo要实现start方法。
2、start()方法是JavaFX应用程序的入口点。它由JavaFX应用程序启动器调用。注意,start()方法被
传递给Stage类的一个实例,它被称为应用程序的主要阶段。您可以根据需要在应用程序中创建更多stage。
但是,主要stage总是由JavaFX运行时为您创建的。
3、stage(舞台)是应用程序的顶层窗口,每个应用程序至少包括一个舞台。stage是场景的容器。
必须展示舞台才能看到场景中包含的视觉效果。使用show()方法来显示舞台。
4、scene(场景)的内容以树状的层次结构排列。任何从javafx.scene.Parent类继承的节点都可以
用作场景的根节点。几个节点,称为布局窗格或容器,如VBox、HBox、Pane、FlowPane、
GridPane或TilePane,可以用作根节点。
5、处理事件的两种方式:
lambda表达式
匿名类
6、要将所有的子节点加入到根节点下,然后创建场景,设置场景大小和根节点,然后将场景加入到舞台,最后可以展示舞台。
向JavaFX程序传递参数
Parameters类是Application类的静态内部类,它封装了传递给JavaFX应用程序的参数。它将参数分为三类:
1、命名参数 由name-value键值对组成
2、未命名参数 单个值组成
3、原始参数(命名参数和未命名参数的组合)
分别需要使用:
Map<String,String> getNamed();
List<String> getUnnamed();
List<String> getRaw()
三种函数来访问三种类型的参数。
启动fx应用程序
调用launch()方法
1、两个参数,要调用的应用程序类的引用和由命令行传递给应用程序的参数
Application.launch(MyJavaFXApp.class, args); //调用此方法的类不必非得是JavaFX应用程序类,可以在任何类中启动fx;
2、一个参数,即传递给应用程序的命令行参数
Application.launch(args) //调用此方法的类必须是从Application类直接或间接继承的类
启动JavaFX应用程序的最佳实践了:将main()方法中的代码限制为只有一条语句来启动应用程序。
JavaFX应用程序的生命周期
在Application类的生命周期中用于调用其方法的那些线程。JavaFX运行时在其他线程中创建两个线程
1、JavaFX-Launcher
2、JavaFX Application Thread
Application类的launch()方法创建这些线程。JavaFX运行时按顺序调用以下方法:
The no-args constructor JavaFX Application Thread
The init() method JavaFX-Launcher
The start() method JavaFX Application Thread
The stop() method JavaFX Application Thread
终止fx应用程序
可以显式(Platform.exit)或隐式的终止(关闭最后一个窗口)
总结:
1、JavaFX的GUI(图形用户界面)显示在stage中,stage就是一个窗口,一个stage可以包含多个场景(scene),但同时只能显示一个场景。
2、JavaFX运行时创建主舞台,并调用传递主舞台引用的应用程序类的start()方法,然后需要在舞台上创建场景并调用stage.show()方法使得舞台可见。
3、使用launch()方法启动一个JavaFX程序。