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实现的,主要分为两种Node和Parent。Node表示单一的组件,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节点或其他内联文本节点(如Hyperlink、ImageView)按自然语言方式流式排列,自动换行,并支持混合样式。
图表
图表(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饼图