简介
JavaFX 是一个开源的下一代客户端应用平台,适用于桌面、移动和嵌入式系统,它是基于 Java 构建的。JavaFX 是由众多个人和公司共同协作的成果,旨在打造一个现代化、高效且功能完备的工具包,用于开发丰富的客户端应用程序。
Hello World是一个纯Java代码编写的桌面窗体程序,本文中使用了Eclipse编写代码,maven编译及运行。
开发环境
最新版 Eclipse
运行效果

环境配置
在pom.xml文件的properties指定java版本:
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
在dependencies节点中指定JavaFx的依赖包:
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>17.0.17</version>
</dependency>
因为是纯java的实现,这里只引入了javafx-controls这一个包。
程序代码
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);
}
}
运行配置
运行这个程序需要指定classpath以正确引用javafx-controls库,为方便起见,我们使用官方提供的maven插件javafx-maven-plugin,配置如下:
<build>
<plugins>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.8</version>
<configuration>
<mainClass>helloworld.HelloWorld</mainClass>
</configuration>
</plugin>
</plugins>
</build>
进入项目所在目录运行:
mvn clean javafx:run
或者在配置:
点击菜单 Run -> Run As -> Maven Build -> New launch configuration to create a new configuration. 名称 hellofx,编辑必填项goals,添加:clean javafx:run

总结
要运行一个javafx程序,实际上需要这些依赖包。因为是在windows上开发的,所以里边有-win结尾的jar包,这些包里有windows低层api的封装,一般不用理会。

当然目前,只是运行一个简单窗口程序,它所演示的是一个最基本的窗体元素层次结构,以及最简单的用户响应处理。

桌面开发框架很多,如果你会java又不想学别的编程语言,比如Qt,C#,C++等,那javafx是个不错的选择。
642

被折叠的 条评论
为什么被折叠?



