先显示一个框框再说
最小模型
先给一个最短的JavaFX程序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| import javafx.application.*; import javafx.stage.Stage;
public class Demo1 extends Application { public static void main(String[] args) { launch(args); } @Override public void start(Stage primaryStage) throws Exception { primaryStage.setTitle("this is FX windows"); primaryStage.show(); } }
|
这个最短的程序有以下关键点:
- 必须继承Application
类或者子类
- 继承Application
类或者子类的类必须实现start(Stage primaryStage)
方法
- main()
方法调用launch()
方法启动java窗口
以上就是javaFX的第一次实现方法
其它实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| public class Demo1 {
public static void main(String[] args) { System.out.println("main="+Thread.currentThread().getName()); Lauch.launch(Lauch.class, args); } }
import javafx.application.Application; import javafx.stage.Stage;
public class Lauch extends Application { public void init() { System.out.println("init() = "+Thread.currentThread().getName()); }
@Override public void start(Stage primaryStage) throws Exception { primaryStage.show(); System.out.println("start() = "+Thread.currentThread().getName()); } public void stop() { System.out.println("stop() = "+Thread.currentThread().getName()); } }
|
控制台打印数据如下:
1 2 3 4
| main() = main init() = JavaFX-Launcher start() = JavaFX Application Thread stop() = JavaFX Application Thread
|
由控制台可以看出方法的执行顺序为主线程“(main)”执行main
方法,lauch
方法被调用后首先创建“JavaFX-Launcher”线程执行init
方法,然后创建“JavaFX Application Thread”线程执行start
方法,当关闭窗口时“JavaFX Application Thread”线程调用stop方法。