JavaFX文档(3)开始JavaFX之旅——1 Hello World

时间:2023-01-19 17:04:56

更为详尽的内容,建议大家去http://www.javafxchina.net看看。

声明:如需转载,请注明出处:http://blog.csdn.net/originer

原文出处:http://docs.oracle.com/javase/8/javafx/get-started-tutorial/get_start_apps.htm#JFXST804

介绍一些样例程序,包括布局、控件、样式表、FXML和虚化效果。

1.Hello World

在开始之前,装好Java、装好编辑器(NetBean,我用的是Eclipse)巴拉巴拉……

在IDE中(NetBean等)新建工程,创建HelloWorld.java代码:

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()方法是程序入口。
  • 将UI容器定义为舞台(stage)与场景(Scene)。Stage是*容器。Scene类是所有子组件的容器。本例中创建了stage和scene,然后为scene设置了大小并使其可见。
  • scene中的内容以层级的场景图形节点来展。在本例中,根节点是一个StackPane对象,它是可以被重新设置大小layout节点。这就意味着在用户改变stage大小时,root节点可以随scene改变大小。
  • root节点包含一个文本按钮子节点,按钮上添加了一个事件处理器,在点击按钮时会向控制台输出信息。
  • 如果JavaFX应用是通过JavaFX Packager工具打包,则main()方法不是必须的,JavaFX将通过Jar包中的JavaFX Launcher 来运行。但是保留main()方法将在IDE中调试和集成SWing应用时是很有用的。

下图展示了Hello World应用程序的场景图(scenen graph)。

JavaFX文档(3)开始JavaFX之旅——1 Hello World

运行结果如图:

JavaFX文档(3)开始JavaFX之旅——1 Hello World


返回目录