JavaFX 入门(1)Hello World
该文档翻译至 Java FX 官方文档
学一门编程语言,实现一个“Hello World”程序是最好的入门方式。
package helloworld;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class HelloWorld extends Application {
@Override
public void start(Stage primaryStage) {
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!");
}
});
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 static void main(String[] args) {
launch(args);
}
}
重点:
- JavaFX应用的主类继承自javafx.application.Application, 函数start()是程序的入口。
- JavaFX通过stage和scena来定义容器,类Stage是最上层的JavaFX容器,容器Scene可以包含所有其他组件。
- 被Scena包含的组件,可以按层级进行划分,在本文的例子中,根节点是StackPane对象,是一个大小可变的布局对象。
- 根节点包含一个子节点:一个带有文字的按钮,加上处理事件的方法
- 主函数main()是传统的Java程序入口,如果使用JavaFX Launcher来创建JavaFX应用,main()函数是不需要的。否则,则需要加入main()来作为应用程序的入口