如何使用 JavaFX 更改图块窗格中节点的方向?
javafxobject oriented programmingprogramming更新于 2025/4/14 0:37:17
在 TilePane 布局中,节点排列为大小均匀的图块网格。您可以通过实例化 javafx.scene.layout.TilePane 类在应用程序中创建图块窗格。
方向通常是指窗格中节点的排列,它们水平或垂直排列。
默认情况下,图块窗格的方向是水平的。您可以使用 setOrientation() 方法更改此方向。此方法接受两个值 −
Orientation.VERTICAL
Orientation.HORIZONTAL
示例
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 TilePaneOrientation extends Application { @Override public void start(Stage stage) { //Creating buttons Button one = new Button("one"); one.setPrefSize(100, 100); Button two = new Button("Two"); two.setPrefSize(100, 100); Button three = new Button("Three"); three.setPrefSize(100, 100); Button four = new Button("Four"); four.setPrefSize(100, 100); Button five = new Button("Five"); five.setPrefSize(100, 100); Button six = new Button("six"); six.setPrefSize(100, 100); Button seven = new Button("seven"); seven.setPrefSize(100, 100); Button eight = new Button("eight"); eight.setPrefSize(100, 100); Button nine = new Button("nine"); nine.setPrefSize(100, 100); //Creating the tile pane TilePane tilePane = new TilePane(); //Setting the orientation for the Tile Pane tilePane.setOrientation(Orientation.VERTICAL); //Setting the alignment for the Tile Pane tilePane.setTileAlignment(Pos.BASELINE_CENTER); //Setting the preferred columns for the Tile Pane tilePane.setPrefRows(3); //Retrieving the observable list of the Tile Pane ObservableList list = tilePane.getChildren(); //Adding the array of buttons to the pane list.addAll(one, two, three, four, five, six, seven, eight, nine); //Setting the Scene Scene scene = new Scene(tilePane, 600, 300); stage.setTitle("Tile Pane"); stage.setScene(scene); stage.show(); } public static void main(String args[]){ launch(args); } }
输出
Orientation.VERTICAL
Orientation.HORIZONTAL