JavaFX |拆分窗格类
SplitPane 类是 JavaFX 的一部分。 SplitPane 类是一个控件,它包含由分隔线分隔的两个或多个边。用户可以拖动边来为其中一侧提供更多空间,从而导致另一侧缩小等量。 SplitPane 类继承Control类。
类的构造函数:
- SplitPane() :创建一个新的 SplitPane。
- SplitPane(Node... n) : 创建一个具有指定节点的 SplitPane。
常用方法:
Method | Explanation |
---|---|
getItems() | Returns the items of the split pane. |
getOrientation() | Returns the orientation of split pane. |
setDividerPosition(int dividerIndex, double position) | Sets the position of divider at specified index. |
setDividerPositions(double… p) | Sets the position of dividers. |
setOrientation(Orientation o) | Sets the orienattion of splitpane. |
下面的程序说明了 SplitPane 类的使用:
- 用于创建拆分窗格并为其添加标签的Java程序:
- 在这个程序中,我们将创建一个 SplitPane 名称split_pane 。
- 使用getItems().add()函数创建标签并将其添加到拆分窗格。
- 将split_pane添加到场景中,并将场景添加到舞台。
- 调用show()函数以显示最终结果。
// Java program to create a split pane // and add labels to it import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.*; import javafx.stage.Stage; import javafx.scene.layout.*; import javafx.scene.paint.*; import javafx.scene.text.*; import javafx.geometry.*; import javafx.scene.layout.*; import javafx.scene.shape.*; import javafx.scene.paint.*; import javafx.scene.*; import java.io.*; import javafx.scene.image.*; public class SplitPane_1 extends Application { // launch the application public void start(Stage stage) { try { // set title for the stage stage.setTitle("Split Pane"); // create a splitpane SplitPane split_pane = new SplitPane(); // create labels and add it to splitPane for (int i = 1; i < 5; i++) { split_pane.getItems().add(new Label("\tLabel no " + i + "\t")); } // create a scene Scene scene = new Scene(split_pane, 500, 300); // set the scene stage.setScene(scene); stage.show(); } catch (Exception e) { System.out.println(e.getMessage()); } } // Main Method public static void main(String args[]) { // launch the application launch(args); } }
输出:
- 用于创建拆分窗格的Java程序设置其方向并为其添加标签:
- 在这个程序中,我们将创建一个 SplitPane 名称split_pane 。
- 使用getItems().add()函数创建标签并将其添加到拆分窗格。
- 将split_pane添加到场景中,并将场景添加到舞台。
- 使用setOrientation()函数设置split_pane的方向。
- 调用show()函数以显示最终结果。
// Java program to create a split pane, set // its orientation and add labels to it import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.*; import javafx.stage.Stage; import javafx.scene.layout.*; import javafx.scene.paint.*; import javafx.scene.text.*; import javafx.geometry.*; import javafx.scene.layout.*; import javafx.scene.shape.*; import javafx.scene.paint.*; import javafx.scene.*; import java.io.*; import javafx.scene.image.*; public class SplitPane_2 extends Application { // launch the application public void start(Stage stage) { try { // set title for the stage stage.setTitle("Split Pane"); // create a splitpane SplitPane split_pane = new SplitPane(); // create labels and add it to splitPane for (int i = 1; i < 5; i++) { // create a label Label label = new Label("\tLabel no " + i + "\t"); // set preferred height label.setPrefHeight(50); split_pane.getItems().add(label); } // set Orientation of splitpane split_pane.setOrientation(Orientation.VERTICAL); // create a scene Scene scene = new Scene(split_pane, 500, 300); // set the scene stage.setScene(scene); stage.show(); } catch (Exception e) { System.out.println(e.getMessage()); } } // Main Method public static void main(String args[]) { // launch the application launch(args); } }
输出:
注意:以上程序可能无法在在线 IDE 中运行,请使用离线编译器。
参考: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/SplitPane.html