JavaFx概览

JavaFX是一个用于 Java 的图形用户界面 (GUI) 工具包(GUI 是 Graphical User Interface 的缩写)。它可以简化使用 Java 创建桌面应用程序和游戏的过程。

应用

应用(Application)是JavaFx进程的代表,它表示一个JavaFx项目

窗口

窗口(Stage,也称之为舞台)是JavaFx的核心框架,在一个Application中可以创建多个Stage,每个Application有一个主Stage对象,由JavaFx框架自动创建,如需打开额外的窗口,可自行创建Stage对象并显示。

场景

场景(Scene)用来为窗口显示具体内容,一个Stage只能显示一个Scene,但可以在运行时切换Scene,在Stage的生命周期中,允许拥有多个Scene(同一时刻只能显示一个Scene)

控件

控件(Controls)是为了组合出多样的Scene而产生的一个概念,所有的视觉组件(如按钮、输入框、标签、布局容器等)均需组合附加到Scene后才能显示。

在JavaFx中主要包括以下几种控件:

  • javafx.scene.control.Accordion 手风琴组件

    • javafx.scene.control.TitledPane 手风琴项

  • javafx.scene.control.Button 按钮

  • javafx.scene.control.CheckBox 选择框

  • javafx.scene.control.ChoiceBox 下拉列表框

  • javafx.scene.control.ColorPicker 颜色选择器

  • javafx.scene.control.ComboBox 组合框

  • javafx.scene.control.DatePicker 时间选择器

  • javafx.scene.control.Label 标签

  • javafx.scene.control.ListView 列表框

  • javafx.scene.control.MenuBar 菜单栏

    • javafx.scene.control.Menu 菜单

      • javafx.scene.control.MenuItem 菜单项

  • javafx.scene.control.PasswordField 密码框

  • javafx.scene.control.ProgressBar 进度条

  • javafx.scene.control.ToggleButton 切换按钮

    • javafx.scene.control.RadioButton 单选按钮

  • javafx.scene.control.Slider 滑块

  • javafx.scene.control.Spinner 微调器

  • javafx.scene.control.SplitMenuButton 下拉菜单列表框

  • javafx.scene.control.SplitPane 分割面板

  • javafx.scene.control.TableView 表格

  • javafx.scene.control.TabPane 标签面板

  • javafx.scene.control.TextArea 文本域

  • javafx.scene.control.TextField 文本框

  • javafx.scene.control.ToolBar 工具栏

  • javafx.scene.control.TreeTableView 树型表格

  • javafx.scene.control.TreeView 树列表

节点

节点(Node)这是JavaFx类库中的一个抽象概念,用来表示Scene中所有的组件。所有的节点都是基于javafx.scene.Node实现的,主要分为两种NodeParentNode表示单一的组件,Parent则表示自身可以容纳其他组件。

布局

布局(Layout)是JavaFx中的另一种组件形式,可以包含其他组件,继承自Parent节点。

在JavaFx中主要包括以下几种布局:

  • javafx.scene.Group 分组布局:用于将多个组件组合在一起作为一个对象使用,没有自动布局能力

  • javafx.scene.layout.Region 区域:所有布局的父类,代表一个范围,这个范围中可以有很多的子布局、控件

    • javafx.scene.layout.Pane 面板

      • javafx.scene.layout.HBox 横向布局面板

      • javafx.scene.layout.VBox 纵向布局面板

      • javafx.scene.layout.FlowPane 流式布局面板

      • javafx.scene.layout.BorderPane 上下左右中布局面板:常见的五分布局

      • javafx.scene.layout.StackPane 堆叠布局

      • javafx.scene.layout.GridPane 表格布局

      • javafx.scene.layout.AnchorPane 锚点布局:根据子元素的上下左右值确定位置

  • javafx.scene.text.TextFlow 文本域布局:将多个 Text 节点或其他内联文本节点(如 HyperlinkImageView)按自然语言方式流式排列,自动换行,并支持混合样式

图表

图表(Chart)JavaFX 提供的内置的即用型图表组件,因此您无需每次需要基本图表时都从头开始编写代码。JavaFX 包含以下图表组件:

  • javafx.scene.chart.XYChart 平面图

    • javafx.scene.chart.AreaChart 面积图

    • javafx.scene.chart.BarChart 柱状图

    • javafx.scene.chart.BubbleChart 气泡图

    • javafx.scene.chart.LineChart 折线图

    • javafx.scene.chart.ScatterChart 散点图

    • javafx.scene.chart.StackedAreaChart 堆叠面积图

    • javafx.scene.chart.StackedBarChart 堆叠柱状图

  • javafx.scene.chart.PieChart 饼图


JavaFx概览
https://blog.cikaros.cn/archives/javafxgai-lan
作者
Cikaros
发布于
2026年01月23日
许可协议