JavaFX基础教程:002 Hello World
2021/11/9 20:40:57
本文主要是介绍JavaFX基础教程:002 Hello World,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
依据国际惯例,所有语言入门的最好方式自然是"Hello World"。本节中我们将使用一个简单的例子来介绍JavaFX的基本使用和架构。
代码
import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.layout.StackPane; import javafx.scene.text.Font; import javafx.stage.Stage; public class TutorialApplication extends Application { public static void main(String[] args) { launch(args); } @Override public void start(Stage stage) throws Exception { // 分别获取Java和JavaFX的版本 String javaVersion = System.getProperty("java.version"); String javafxVersion = System.getProperty("javafx.version"); // 创建label标签,用于信息展示 Label l = new Label("Hello, JavaFx " + javafxVersion + ", running on Java " + javaVersion + "."); // 设置字体大小 l.setFont(Font.font(20)); // 创建布局StackPane StackPane stackPane = new StackPane(); stackPane.getChildren().add(l); // 创建场景Scene Scene scene = new Scene(stackPane, 640, 480); stage.setScene(scene); stage.show(); } }
效果
代码说明
- 从代码中可以看出,类继承实现了
javafx.application.Application
类,此类中定义了JavaFX容器的生命周期,其中start()方法为主要入口,launch()方法主要用于调起start()方法 - start()方法中传入
javafx.stage.Stage
,Stage为JavaFX的最顶层容器,做窗口展示使用。 - Stage中需要设置Scene(场景),Scene为所有内容的容器,主要用来存放各种组件。
- StackPane为布局组件,大小会随着Scene改变。添加子组件时,如果不指定子组件位置,则子组件会在StackPane组件中堆叠存放
以上使用到的组件在后续教程中会进行具体介绍,暂时会使用即可
基础结构介绍
主要包
javafx.animation
- 主要用于动画展示,如 填充,淡入淡出,旋转,缩放和平移javafx.application
- 主要负责JavaFX的生命周期,核心类Application,工具类Platform
javafx.application.Application
类中主要方法:init()
- JavaFX启动前进行初始化操作(可以用于加载初始动画)start()
- JavaFX程序运行主体,所有的逻辑在此方法中执行生效(必须实现)stop()
- JavaFX程序结束时进行的操作launch()
- JavaFX程序的入口方法,主要用于调起start()
方法
javafx.concurrent
- 主要用于并发操作或者任务定时操作javafx.css
- 主要用于添加设置css样式javafx.geometry
- 主要用于2D对象的定义和操作javafx.scene
- 支持场景图的类和接口。 此外,它还提供了子包,如画布,图表,控件,效果,图像,输入,布局,媒体,绘画,形状,文本,转换,Web等。有几个组件支持JavaFX丰富的APIjavafx.stage
- JavaFX的顶级容器,主要用于窗体展示javafx.event
- 用于传递和处理JavaFX事件的类和接口
这篇关于JavaFX基础教程:002 Hello World的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?