对于如何创建一个基础的Fx项目已经明白,那么我们应该如何设置一个布局呢?
1------布局类(javafx.scene.layout
)
Fx程序所有涉及到布局的组件都是来自于layout类
2------常用组件
javafx.scene.layout.Region类,区域,范围的意思,是所有布局组件的父类, |
javafx.scene.layout.pane类,继承自Region类,是一类绝对布局控件,当我们将某控件放置于其中的时候,需要指定位置,拖拉拽可以自动生成; 一般情况下,我们都是使用Pane的子类 |
BorderPane: BorderPane提供了五个放置结点的区域:top、bottom、left、right、和 center;这些区域的大小是自定义的,如果不定义它,BorderPane就不回给该区域分配空间。默认情况下,如果窗口比所有区域所需空间还大,多余的空间将被分配给中间区域;如果窗口比所需空间小,区域可能会重叠;重叠是由区域设置的顺序决定的。 ----------理解:由此可以知道BorderPane是是一个布局组件,其特性是会不满全局,然后根据布局得形态和比例来划分区域 HBox: HBox是一个水平的排列空间,不进行换行 VBox: VBox是一个垂直的排列空间,不进行换行 FlowPane: GridPane: GridPane类似于HTML的table布局 StackPane: 总是布满父级布局,并且可以让放置于其中的控件共同拥有其全部空间,能够轻易地把控件居中。 |
在start()调用场景的代码中,每一个Pane类都具备了一个getChilden()获取该节点的所有孩子节点的功能! JavaFX的一个场景中单独的元素叫节点(node),这些结点决定了JavaFX用分层次的树状结构来表示应用用户接口;它即能处理输入也能渲染输出(scene是每个JavaFX应用的起点,它是分层的结点树-FXML)除了根结点外,每一个节点都有一个父结点并且有0到多个子节点(在初始化一个scene时要给构造方法传递一个root结点)。
3-----常用用法:
|
4------布局层次
关于舞台,我们可以设置对其关闭或者开启,主题,是否总在最顶端,是否充满整个页面,字体,是否最大宽或者最大高,最小宽,最小高等等。
一般情况下,在创建Scence()的时候同时也需要创建 "顶层节点" 也即是Node或者Parent。其中PParent
包括Pane
、Group
、Control等布局。而里面最常用的面板则主要是
FlowPane
、GridPane
、BorderPane
、HBox
、VBox
、StackBox 使用得最为频繁!
意思是:用户控制接口,就是提供相应的组件用来相应用户做出的动作
|
Group群组:暂时无涉及 |
Shape
ImageView
可以通过构造方法创建一个 |