javafx Hello World程序
示例
以下代码创建了一个简单的用户界面,其中包含一个单击即可在控制台上Button打印一个的用户界面String。
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
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 button = new Button("Say 'Hello World'");
//设置当用户激活按钮时执行的处理程序
//例如,通过单击它或在焦点对准时按Enter
button.setOnAction(e -> {
//打开信息对话框,打个招呼
Alert alert = new Alert(AlertType.INFORMATION, "Hello World!?");
alert.showAndWait();
});
//主窗口中显示的场景的根
StackPane root = new StackPane();
//将按钮添加为根的子代
root.getChildren().add(button);
//创建一个指定根和大小的场景
Scene scene = new Scene(root, 500, 300);
//将场景添加到舞台
primaryStage.setScene(scene);
//使舞台可见
primaryStage.show();
}
public static void main(String[] args) {
//启动HelloWorld应用程序。
//由于此方法是HelloWorld类的成员,因此第一个
//不需要参数
Application.launch(HelloWorld.class, args);
}
}该Application班是每一个JavaFX应用程序的入口点。只能Application启动一个,并且可以使用
Application.launch(HelloWorld.class, args);
这将创建Application作为参数传递的类的实例,并启动JavaFX平台。
以下内容对于此处的程序员很重要:
首先launch创建Application该类的新实例(HelloWorld在这种情况下)。Application因此,该类需要一个无参数的构造函数。
init()在Application创建的实例上调用。在这种情况下,from的默认实现Application不执行任何操作。
start为Appication实例调用,然后将主Stage窗口(=窗口)传递给该方法。在JavaFXApplication线程(平台线程)上自动调用此方法。
该应用程序将运行,直到平台确定是该关闭为止。在这种情况下,当最后一个窗口关闭时,将完成此操作。
该stop方法在Application实例上调用。在这种情况下,from的实现Application不执行任何操作。在JavaFXApplication线程(平台线程)上自动调用此方法。
在该start方法中,构建了场景图。在这种情况下,它包含2Nodes:AButton和aStackPane。
该Button表示在用户界面中按钮和StackPane是用于一个容器Button,它确定它的位置。
Scene创建A来显示这些Node。最后,Scene将添加到Stage显示整个UI的窗口。