当前位置: 首页 > 文档资料 > JavaFX 中文教程 >

布局窗格(Layout Panes)

优质
小牛编辑
127浏览
2023-12-01

在构建场景中的所有必需节点之后,我们通常会按顺序排列它们。

容器内部件的这种布置称为容器的布局。 我们还可以说我们遵循布局,因为它包括将所有组件放置在容器内的特定位置。

JavaFX提供了几种预定义的布局,如HBox, VBox, Border Pane, Stack Pane, Text Flow, Anchor Pane, Title Pane, Grid Pane, Flow Panel等。

上面提到的每个布局都由一个类表示,所有这些类都属于包javafx.layout 。 名为Pane的类是JavaFX中所有布局的基类。

创建布局

要创建布局,您需要 -

  • 创建节点。
  • 实例化所需布局的相应类。
  • 设置布局的属性。
  • 将所有创建的节点添加到布局中。

创建节点

首先,通过实例化各自的类来创建JavaFX应用程序所需的节点。

例如,如果您想要一个文本字段和两个按钮,即在HBox布局中播放和停止 - 您必须最初创建这些节点,如下面的代码块所示 -

//Creating a text field 
TextField textField = new TextField();       
//Creating the play button 
Button playButton = new Button("Play");       
//Creating the stop button 
Button stopButton = new Button("stop");

实例化各个类

在创建节点(并完成对它们的所有操作)之后,实例化所需布局的类。

例如,如果要创建Hbox布局,则需要按如下方式实例化此类。

HBox hbox = new HBox();

设置布局的属性

实例化类之后,您需要使用各自的setter方法设置布局的属性。

例如 - 如果要在HBox布局中的已创建节点之间设置空间,则需要将值设置为名为spacing的属性。 这可以通过使用setter方法setSpacing()来完成,如下所示 -

hbox.setSpacing(10);

将形状对象添加到组

最后,您需要将形状的对象添加到组中,方法是将其作为构造函数的参数传递,如下所示。

//Creating a Group object  
Group root = new Group(line);

布局窗格

以下是JavaFX提供的各种布局窗格(类)。 这些类存在于包javafx.scene.layout

S.No形状和描述
1HBox

HBox布局将应用程序中的所有节点排列在一个水平行中。

javafx.scene.layout名为HBox的类表示文本水平框布局。

2VBox

VBox布局将我们应用程序中的所有节点排列在一个垂直列中。

javafx.scene.layout名为VBox的类表示文本垂直框布局。

3BorderPane

边框窗格布局将应用程序中的节点排列在顶部,左侧,右侧,底部和中心位置。

javafx.scene.layout名为BorderPane的类表示边框窗格布局。

4StackPane

堆栈窗格布局将应用程序中的节点排列在另一个上面,就像在堆栈中一样。 首先添加的节点位于堆栈的底部,下一个节点位于堆栈的顶部。

javafx.scene.layout名为StackPane的类表示堆栈窗格布局。

5TextFlow

文本流布局在单个流中排列多个文本节点。

javafx.scene.layout名为TextFlow的类表示文本流布局。

6AnchorPane

“锚点”窗格布局将应用程序中的节点锚定在距窗格特定距离处。

javafx.scene.layout名为AnchorPane的类表示Anchor窗格布局。

7TilePane

Tile窗格布局以均匀大小的tile的形式添加应用程序的所有节点。

javafx.scene.layout名为TilePane的类表示TilePane布局。

8GridPane

网格窗格布局将应用程序中的节点排列为行和列的网格。 使用JavaFX创建表单时,此布局非常方便。

javafx.scene.layout名为GridPane的类表示GridPane布局。

9FlowPane

流窗格布局包装流中的所有节点。 水平流动窗格将窗格的元素包裹在其高度,而垂直流动窗格将元素包裹在其宽度处。

名为FlowPane的类javafx.scene.layout表示Flow Pane布局。