JavaFX SplitPane

时间:2020-01-09 10:36:40  来源:igfitidea点击:

JavaFX SplitPane是一个容器控件,其中可以包含多个其他组件。换句话说,SplitPane在它包含的控件之间分割。在SplitPane中的控件之间是一个分隔符。用户可以移动分隔线以设置为每个控件分配多少空间。这是JavaFXSplitPane的屏幕截图:

完整的JavaFX SplitPane示例

JavaFX SplitPane由JavaFX类javafx.scene.control.SplitPane表示。这是一个完整的JavaFXSplitPane示例,因此我们可以了解其用法:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.SplitPane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class SplitPaneExample extends Application {

    public static void main(String[] args) {
        launch(args);
    }

    public void start(Stage primaryStage) {

        SplitPane splitPane = new SplitPane();

        VBox leftControl  = new VBox(new Label("Left Control"));
        VBox rightControl = new VBox(new Label("Right Control"));

        splitPane.getItems().addAll(leftControl, rightControl);

        Scene scene = new Scene(splitPane);

        primaryStage.setScene(scene);
        primaryStage.setTitle("JavaFX App");

        primaryStage.show();
    }
}

创建一个拆分窗格

在使用JavaFX SplitPlane之前,必须首先创建一个SplitPane实例。这是创建JavaFXSplitPane的示例:

SplitPane splitPane = new SplitPane();

将控件添加到SplitPane

为了显示JavaFXSplitPane中的任何内容,我们必须向其中添加一些JavaFX控件。我们可以通过SplitPane``getItems()。add(...)方法进行操作。这是向JavaFXSplitPane添加两个控件的示例:

SplitPane splitPane = new SplitPane();

VBox leftControl  = new VBox(new Label("Left Control"));
VBox rightControl = new VBox(new Label("Right Control"));

splitPane.getItems().addAll(leftControl, rightControl);

向一个SplitPane添加两个以上的控件

我们可以在JavaFXSplitPane中添加两个以上的控件。如果这样做,每个两个控件之间将有一个分隔符。这是一个向JavaFXSplitPane添加3个控件的Java代码示例:

SplitPane splitPane = new SplitPane();

VBox leftControl  = new VBox(new Label("Left Control"));
VBox midControl   = new VBox(new Label("Mid Control"));
VBox rightControl = new VBox(new Label("Right Control"));

splitPane.getItems().addAll(leftControl, midControl, rightControl);

Scene scene = new Scene(splitPane);

primaryStage.setScene(scene);
primaryStage.setTitle("JavaFX App");

primaryStage.show();