java中borderpane_BorderPane

BorderPane

如果我们使用BorderPane,则节点将排列在Top,Left,Right,Bottom和Center位置。

包javafx.scene.layout名为BorderPane的类表示BorderPane。

该类包含五个属性,包括 -bottom - 此属性属于Node类型,它表示放置在BorderPane底部的节点。 您可以使用setter方法setBottom()为此属性设置值。

center - 此属性是Node类型,它表示放置在BorderPane中心的节点。 您可以使用setter方法setCenter()为此属性设置值。

left - 此属性是Node类型,它表示放置在BorderPane左侧的节点。 您可以使用setter方法setLeft()为此属性设置值。

right - 此属性属于Node类型,它表示位于BorderPane右侧的节点。 您可以使用setter方法setRight()为此属性设置值。

top - 此属性是Node类型,它表示放置在BorderPane顶部的节点。 您可以使用setter方法setTop()为此属性设置值。

除此之外,本课程还提供以下方法 -setAlignment() - 此方法用于设置属于此窗格的节点的对齐方式。 此方法接受节点和优先级值。

例子 (Example)

以下程序是BorderPane布局的示例。 在此,我们在顶部,底部,右侧,左侧和中心位置插入五个文本字段。

将此代码保存在名为BorderPaneExample.java的文件中。import javafx.application.Application;

import javafx.collections.ObservableList;

import javafx.scene.Scene;

import javafx.scene.control.TextField;

import javafx.scene.layout.BorderPane;

import javafx.stage.Stage;

public class BorderPaneExample extends Application {

@Override

public void start(Stage stage) {

//Instantiating the BorderPane class

BorderPane bPane = new BorderPane();

//Setting the top, bottom, center, right and left nodes to the pane

bPane.setTop(new TextField("Top"));

bPane.setBottom(new TextField("Bottom"));

bPane.setLeft(new TextField("Left"));

bPane.setRight(new TextField("Right"));

bPane.setCenter(new TextField("Center"));

//Creating a scene object

Scene scene = new Scene(bPane);

//Setting title to the Stage

stage.setTitle("BorderPane Example");

//Adding scene to the stage

stage.setScene(scene);

//Displaying the contents of the stage

stage.show();

}

public static void main(String args[]){

launch(args);

}

}

使用以下命令从命令提示符编译并执行保存的java文件。javac BorderPaneExample.java

java BorderPaneExample

执行时,上面的程序生成一个JavaFX窗口,如下所示。

1495a737e6c496d6bbd0dff9598e8bc0.png

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaFX 是一个用于构建富客户端应用程序的图形用户界面 (GUI) 框架。本教程将带您快速了解 JavaFX 的基础知识,以便开始构建自己的应用程序。 1. 安装 JavaFX 首先,您需要安装 JavaFX。如果您已经安装了 Java SE 11 或更高版本,则无需额外的安装。否则,您需要下载并安装 JavaFX SDK。下载链接:https://gluonhq.com/products/javafx/ 2. 创建 JavaFX 应用程序 创建 JavaFX 应用程序的步骤如下: - 创建一个 Java 项目。 - 添加 JavaFX 库到项目。 - 创建一个 Java 类,并将其扩展为 Application 类。 - 在 start() 方法编写应用程序的 GUI 代码。 以下是一个简单的示例: ``` import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.layout.StackPane; import javafx.stage.Stage; public class MyJavaFXApp extends Application { @Override public void start(Stage primaryStage) { // 创建一个标签 Label label = new Label("Hello, JavaFX!"); // 创建一个 StackPane 布局 StackPane root = new StackPane(); root.getChildren().add(label); // 创建一个场景 Scene scene = new Scene(root, 300, 250); // 设置场景到舞台 primaryStage.setScene(scene); // 设置舞台标题 primaryStage.setTitle("My JavaFX App"); // 显示舞台 primaryStage.show(); } public static void main(String[] args) { launch(args); } } ``` 3. 运行 JavaFX 应用程序 要运行 JavaFX 应用程序,您可以在 IDE 单击“运行”按钮,或者在命令行使用以下命令: ``` java --module-path /path/to/javafx-sdk-16/lib --add-modules javafx.controls,javafx.fxml MyJavaFXApp ``` 其,`/path/to/javafx-sdk-16/lib` 是 JavaFX SDK 的路径。如果您使用的是其他版本的 JavaFX SDK,则需要修改路径。 4. JavaFX 控件 JavaFX 提供了许多常用的 GUI 控件,例如按钮、标签、文本框、下拉列表框等等。您可以使用这些控件构建自己的用户界面。 以下是一些常用的 JavaFX 控件: - Button:按钮控件。 - Label:标签控件。 - TextField:文本框控件。 - TextArea:多行文本框控件。 - ChoiceBox:下拉列表框控件。 - CheckBox:复选框控件。 - RadioButton:单选按钮控件。 - ToggleButton:切换按钮控件。 - ComboBox:组合框控件。 使用这些控件的示例代码如下: ``` import javafx.application.Application; import javafx.geometry.Insets; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.CheckBox; import javafx.scene.control.ChoiceBox; import javafx.scene.control.ComboBox; import javafx.scene.control.Label; import javafx.scene.control.RadioButton; import javafx.scene.control.TextArea; import javafx.scene.control.TextField; import javafx.scene.control.ToggleButton; import javafx.scene.layout.GridPane; import javafx.scene.layout.HBox; import javafx.scene.layout.VBox; import javafx.stage.Stage; public class MyJavaFXApp extends Application { @Override public void start(Stage primaryStage) { // 创建一个标签 Label label = new Label("JavaFX Controls"); // 创建一个文本框 TextField textField = new TextField(); // 创建一个多行文本框 TextArea textArea = new TextArea(); // 创建一个按钮 Button button = new Button("Click Me"); // 创建一个复选框 CheckBox checkBox = new CheckBox("Check Me"); // 创建两个单选按钮 RadioButton radioButton1 = new RadioButton("Option 1"); RadioButton radioButton2 = new RadioButton("Option 2"); // 创建一个切换按钮 ToggleButton toggleButton = new ToggleButton("Toggle Me"); // 创建一个下拉列表框 ChoiceBox<String> choiceBox = new ChoiceBox<>(); choiceBox.getItems().addAll("Option 1", "Option 2", "Option 3"); choiceBox.setValue("Option 1"); // 创建一个组合框 ComboBox<String> comboBox = new ComboBox<>(); comboBox.getItems().addAll("Option 1", "Option 2", "Option 3"); comboBox.setEditable(true); // 创建一个网格布局 GridPane gridPane = new GridPane(); gridPane.setPadding(new Insets(10)); gridPane.setHgap(10); gridPane.setVgap(10); // 将控件添加到网格布局 gridPane.add(label, 0, 0); gridPane.add(textField, 1, 0); gridPane.add(textArea, 0, 1, 2, 1); gridPane.add(button, 0, 2); gridPane.add(checkBox, 1, 2); gridPane.add(radioButton1, 0, 3); gridPane.add(radioButton2, 1, 3); gridPane.add(toggleButton, 0, 4); gridPane.add(choiceBox, 1, 4); gridPane.add(comboBox, 0, 5, 2, 1); // 创建一个水平箱布局 HBox hBox = new HBox(); hBox.setPadding(new Insets(10)); hBox.setSpacing(10); hBox.getChildren().addAll(button, checkBox, radioButton1, radioButton2, toggleButton); // 创建一个垂直箱布局 VBox vBox = new VBox(); vBox.setPadding(new Insets(10)); vBox.setSpacing(10); vBox.getChildren().addAll(label, textField, textArea, hBox, choiceBox, comboBox); // 创建一个场景 Scene scene = new Scene(vBox, 400, 300); // 设置场景到舞台 primaryStage.setScene(scene); // 设置舞台标题 primaryStage.setTitle("My JavaFX App"); // 显示舞台 primaryStage.show(); } public static void main(String[] args) { launch(args); } } ``` 5. JavaFX 布局 JavaFX 提供了许多常用的布局,例如网格布局、边界布局、流布局等等。您可以使用这些布局来组织自己的用户界面。 以下是一些常用的 JavaFX 布局: - GridPane:网格布局。 - BorderPane:边界布局。 - HBox:水平箱布局。 - VBox:垂直箱布局。 - FlowPane:流布局。 使用这些布局的示例代码如下: ``` import javafx.application.Application; import javafx.geometry.Insets; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.layout.BorderPane; import javafx.scene.layout.FlowPane; import javafx.scene.layout.GridPane; import javafx.scene.layout.HBox; import javafx.scene.layout.VBox; import javafx.stage.Stage; public class MyJavaFXApp extends Application { @Override public void start(Stage primaryStage) { // 创建一个标签 Label label = new Label("JavaFX Layouts"); // 创建一个按钮 Button button = new Button("Click Me"); // 创建一个网格布局 GridPane gridPane = new GridPane(); gridPane.setPadding(new Insets(10)); gridPane.setHgap(10); gridPane.setVgap(10); // 将控件添加到网格布局 gridPane.add(label, 0, 0); gridPane.add(button, 1, 0); // 创建一个边界布局 BorderPane borderPane = new BorderPane(); borderPane.setPadding(new Insets(10)); borderPane.setTop(label); borderPane.setCenter(button); // 创建一个水平箱布局 HBox hBox = new HBox(); hBox.setPadding(new Insets(10)); hBox.setSpacing(10); hBox.getChildren().addAll(label, button); // 创建一个垂直箱布局 VBox vBox = new VBox(); vBox.setPadding(new Insets(10)); vBox.setSpacing(10); vBox.getChildren().addAll(label, button); // 创建一个流布局 FlowPane flowPane = new FlowPane(); flowPane.setPadding(new Insets(10)); flowPane.setHgap(10); flowPane.setVgap(10); flowPane.getChildren().addAll(label, button); // 创建一个场景 Scene scene = new Scene(flowPane, 400, 300); // 设置场景到舞台 primaryStage.setScene(scene); // 设置舞台标题 primaryStage.setTitle("My JavaFX App"); // 显示舞台 primaryStage.show(); } public static void main(String[] args) { launch(args); } } ``` 6. JavaFX 事件处理 JavaFX 提供了许多常用的事件,例如鼠标点击事件、键盘按下事件、窗口关闭事件等等。您可以使用这些事件处理程序来响应用户的操作。 以下是一些常用的 JavaFX 事件: - MouseEvent:鼠标事件。 - KeyEvent:键盘事件。 - WindowEvent:窗口事件。 - ActionEvent:动作事件。 使用这些事件处理程序的示例代码如下: ``` import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.input.MouseEvent; import javafx.scene.layout.StackPane; import javafx.stage.Stage; public class MyJavaFXApp extends Application { @Override public void start(Stage primaryStage) { // 创建一个标签 Label label = new Label("Hello, JavaFX!"); // 创建一个按钮 Button button = new Button("Click Me"); // 创建一个 StackPane 布局 StackPane root = new StackPane(); root.getChildren().addAll(label, button); // 创建一个场景 Scene scene = new Scene(root, 300, 250); // 设置按钮的鼠标点击事件处理程序 button.setOnMouseClicked((MouseEvent event) -> { label.setText("Button Clicked"); }); // 设置窗口关闭事件处理程序 primaryStage.setOnCloseRequest((event) -> { System.out.println("Window Closed"); }); // 设置场景到舞台 primaryStage.setScene(scene); // 设置舞台标题 primaryStage.setTitle("My JavaFX App"); // 显示舞台 primaryStage.show(); } public static void main(String[] args) { launch(args); } } ``` 以上就是 JavaFX 的快速入门教程。希望可以帮助您了解 JavaFX 的基础知识,并开始构建自己的应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值