组件层次
在上一篇中说过,窗体下面分场景,场景下面分布局,布局里面有控件。
首先,一个应用程序 Application
可能有很多个窗体,比如弹框、新建窗口等。在窗体下面分为场景,我们可以将不同的场景设置到窗体上来达到切换场景的目的。窗体下面分为布局,布局也是一种 Node
节点,布局里面可以放入各种控件。逻辑结构如下所示:
Node 的类图如下:
JavaFX 坐标介绍
JavaFX 坐标是从左上角开始计算的,最左上角是 (0,0),往右是正向的 X 轴,往下是正向的 Y 轴,比如右下角某个点的坐标是 (10,20),那么就表示这个点在窗体的右边 10 像素,下方 20 像素的位置。
Group:通用容器
JavaFX Group 不具备任何的布局样式,只是把所有组件放到一个组里面显示,是一种通用的组件容器。
区域 Region
Region 是区域的意思,是指一块显示区域,其类继承关系如下:
对于 Region 来说,具有几个重要的概念:
- 显示区域 Content Area:内容显示的区域
- 内边距 Padding:显示区域距离边框的距离
- 边框 Border:即 Region 的边缘位置
- 外边距 Margin:即边框向外延伸的空白距离
布局 Pane
布局实际上是一种容器,可以容纳别的布局或者组件。布局顾名思义就是为了页面布局而产生的容器,布局均继承自 Pane
类,常用的布局有以下几个。
- 水平布局 HBox:水平布局 HBox 就是把一个个的组件在 HBox 内水平放置。
- 垂直布局 VBox:垂直布局就是把一个个的组件垂直放置。
- 流式布局 FlowPane:垂直或者水平排列,到头了就继续下一行或者列
- BorderPane:提供 5 个放置控件的区域,分别为左右上下和中间。
- …
控件 Control
控件是一些可以被操控的组件,是一些基本显示单元,常见的包括按钮 Button、单选框、复选框等。控件继承自 Control
类,不同的控件具有不同的特性。
其他常用
其他的包括诸如菜单、各种形状等,读者可以自行探索。
本文转载自: 掘金