如何使用 JavaFX 更改图块窗格中节点的方向?


在 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

更新时间:20-May-2020

213 次浏览

开启您的 职业

完成课程获得认证

开始行动
广告