如何使用 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);
   }
}

输出


相关文章