如何使用 JavaFX 创建 TilePane?
javafxobject oriented programmingprogramming更新于 2025/4/14 2:07:17
创建应用程序所需的所有节点后,您可以使用布局排列它们。布局是计算给定空间中对象位置的过程。JavaFX 在 javafx.scene.layout 包中提供了各种布局。
Tile Pane
在此布局中,节点排列为大小均匀的图块网格。您可以通过实例化 javafx.scene.layout.TilePane 类在应用程序中创建图块窗格。
在实例化 TilePane 类时,默认情况下将创建一个水平图块窗格,您可以使用 setOrientation() 方法更改其方向。
您可以使用 setMaxWidth() 方法设置窗格的最大值。
要将节点添加到此窗格,您可以将它们作为构造函数的参数传递,也可以将它们添加到窗格的可观察列表中,如下所示 −
getChildren().addAll();
示例
import javafx.application.Application; import javafx.collections.ObservableList; import javafx.geometry.Orientation; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.TilePane; import javafx.stage.Stage; public class TilePaneExample extends Application { @Override public void start(Stage stage) { //Creating buttons Button one = new Button("one"); one.setPrefSize(200, 100); Button two = new Button("Two"); two.setPrefSize(200, 100); Button three = new Button("Three"); three.setPrefSize(200, 100); Button four = new Button("Four"); four.setPrefSize(200, 100); Button five = new Button("Five"); five.setPrefSize(200, 100); Button six = new Button("six"); six.setPrefSize(200, 100); Button seven = new Button("seven"); seven.setPrefSize(200, 100); Button eight = new Button("eight"); eight.setPrefSize(200, 100); Button nine = new Button("nine"); nine.setPrefSize(200, 100); //创建 Tile 窗格 TilePane tilePane = new TilePane(); //设置 Tile 窗格的方向 tilePane.setOrientation(Orientation.HORIZONTAL); //设置 Tile 窗格的对齐方式 tilePane.setTileAlignment(Pos.CENTER_LEFT); //设置 Tile 窗格的首选列 tilePane.setPrefRows(3); //检索 Tile 窗格的可观察列表 ObservableList list = tilePane.getChildren(); //将按钮数组添加到窗格 list.addAll(one, two, three, four, five, six, seven, eight, nine); //设置场景 Scene scene = new Scene(tilePane, 600, 300); stage.setTitle("Tile Pane"); stage.setScene(scene); stage.show(); } public static void main(String args[]){ launch(args); } }