JavaFX之Hello World

简介

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是个不错的选择。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值