【JavaFX】综合布局练习

package com.example.fxfristdemo;

import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class Homework03 extends Application {
    public void start(Stage stage) {

        stage.setTitle("Homework03 综合布局练习");

        TextField tf = new TextField();  //文本输入框
        tf.setPrefWidth(400.0);  //tf的长度设置
        HBox hbtf = new HBox();
        hbtf.setAlignment(Pos.CENTER);
        hbtf.getChildren().add(tf);

        Label lb1 = new Label(" 标签1 ");  //3个Label
        Label lb2 = new Label(" 标签2 ");
        Label lb3 = new Label(" 标签3 ");
        HBox hblb = new HBox();
        hblb.setAlignment(Pos.CENTER);  //3个Label放在一行
        hblb.getChildren().add(lb1);
        hblb.getChildren().add(lb2);
        hblb.getChildren().add(lb3);

        Button btn1 = new Button("1");  //4个Button
        Button btn2 = new Button("2");
        Button btn3 = new Button("3");
        Button btn4 = new Button("4");

        double length = 200;  //四个btn的长度设置
        btn1.setPrefWidth(length);
        btn2.setPrefWidth(length);
        btn3.setPrefWidth(length);
        btn4.setPrefWidth(length);

        HBox hbBtn1 = new HBox(0);  //四个btn无间隔田字排列
        hbBtn1.setAlignment(Pos.CENTER);
        hbBtn1.getChildren().add(btn1);
        hbBtn1.getChildren().add(btn2);

        HBox hbBtn2 = new HBox(0);
        hbBtn2.setAlignment(Pos.CENTER);
        hbBtn2.getChildren().add(btn3);
        hbBtn2.getChildren().add(btn4);

        VBox vbBtn = new VBox(0);
        vbBtn.setAlignment(Pos.CENTER);
        vbBtn.getChildren().add(hbBtn1);
        vbBtn.getChildren().add(hbBtn2);

        VBox vb = new VBox(10); //竖向排列tf,lb,btn
        vb.setAlignment(Pos.CENTER);
        vb.getChildren().add(hbtf);
        vb.getChildren().add(hblb);
        vb.getChildren().add(vbBtn);

        Scene scene = new Scene(vb, 450, 150);
        stage.setScene(scene);
        stage.show();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
JavaFX提供了多种布局管理器来帮助您设计和排列用户界面元素。下面列举了几种常用的布局管理器: 1. StackPane:将元素堆叠在一起,可以通过设置偏移量来控制它们的位置。 2. BorderPane:将元素放置在上、下、左、右和中间的区域。 3. GridPane:创建一个网格布局,可以在行和列中放置元素。 4. HBox和VBox:水平或垂直地排列元素。 5. FlowPane:按照水平或垂直方向自动换行排列元素。 6. TilePane:在一个瓷砖状的网格中排列元素。 使用布局管理器的一般步骤是: 1. 创建一个父容器,如StackPane、BorderPane等。 2. 创建需要添加到父容器中的子节点,并设置它们的样式和属性。 3. 使用布局管理器的方法将子节点添加到父容器中。 以下是一个示例代码,演示了如何使用JavaFX布局管理器来创建一个简单的界面: ```java import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.StackPane; import javafx.stage.Stage; public class Main extends Application { @Override public void start(Stage primaryStage) { // 创建一个StackPane作为父容器 StackPane root = new StackPane(); // 创建一个按钮 Button button = new Button("Click me!"); // 将按钮添加到父容器中 root.getChildren().add(button); // 创建一个场景,并将父容器设置为根节点 Scene scene = new Scene(root, 300, 200); // 设置舞台的场景 primaryStage.setScene(scene); primaryStage.setTitle("JavaFX布局示例"); primaryStage.show(); } public static void main(String[] args) { launch(args); } } ``` 在这个示例中,我们使用了StackPane作为父容器,并在其中添加了一个按钮。您可以根据需要选择适合您界面布局布局管理器,并在其中添加更多的UI元素。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值