当前位置 : 主页 > 编程语言 > java >

javafx 布局

来源:互联网 收集:自由互联 发布时间:2023-09-06
JavaFX是一个Java平台上的图形用户界面工具包,用于创建富客户端应用程序。它提供了许多布局选项,用于定义和管理用户界面的组件位置和大小。在本文中,我们将讨论JavaFX的布局选项

JavaFX是一个Java平台上的图形用户界面工具包,用于创建富客户端应用程序。它提供了许多布局选项,用于定义和管理用户界面的组件位置和大小。在本文中,我们将讨论JavaFX的布局选项,并提供一些代码示例来帮助您理解如何使用这些布局。

JavaFX布局选项

JavaFX提供了几种不同的布局选项,每种布局都有其特定的特点和用途。以下是JavaFX中最常用的布局选项:

1. BorderPane布局

BorderPane布局将组件分为五个区域:顶部(Top)、底部(Bottom)、左侧(Left)、右侧(Right)和中心(Center)。中心区域会自动扩展以填充剩余的空间,而其他区域则固定在屏幕的相应位置。以下是一个使用BorderPane布局的示例:

BorderPane root = new BorderPane();

Button btnTop = new Button("Top");
Button btnBottom = new Button("Bottom");
Button btnLeft = new Button("Left");
Button btnRight = new Button("Right");
Button btnCenter = new Button("Center");

root.setTop(btnTop);
root.setBottom(btnBottom);
root.setLeft(btnLeft);
root.setRight(btnRight);
root.setCenter(btnCenter);

2. FlowPane布局

FlowPane布局按照添加组件的顺序在一个或多个行中排列组件。当组件的大小超过容器的宽度时,它们会自动换行到下一行。以下是一个使用FlowPane布局的示例:

FlowPane root = new FlowPane();

Button btn1 = new Button("Button 1");
Button btn2 = new Button("Button 2");
Button btn3 = new Button("Button 3");
Button btn4 = new Button("Button 4");
Button btn5 = new Button("Button 5");

root.getChildren().addAll(btn1, btn2, btn3, btn4, btn5);

3. GridPane布局

GridPane布局将组件排列在一个网格中,每个组件占据一个或多个单元格。根据需要可以指定单元格的行和列索引,以及组件的跨度。以下是一个使用GridPane布局的示例:

GridPane root = new GridPane();

Button btn1 = new Button("Button 1");
Button btn2 = new Button("Button 2");
Button btn3 = new Button("Button 3");

root.add(btn1, 0, 0);
root.add(btn2, 1, 0);
root.add(btn3, 0, 1, 2, 1);

4. HBox布局

HBox布局按照水平方向排列组件,组件之间的间距可以通过设置spacing属性来调整。以下是一个使用HBox布局的示例:

HBox root = new HBox();

Button btn1 = new Button("Button 1");
Button btn2 = new Button("Button 2");
Button btn3 = new Button("Button 3");

root.getChildren().addAll(btn1, btn2, btn3);

5. VBox布局

VBox布局按照垂直方向排列组件,组件之间的间距可以通过设置spacing属性来调整。以下是一个使用VBox布局的示例:

VBox root = new VBox();

Button btn1 = new Button("Button 1");
Button btn2 = new Button("Button 2");
Button btn3 = new Button("Button 3");

root.getChildren().addAll(btn1, btn2, btn3);

JavaFX布局示例

下面我们将通过一个完整的JavaFX应用程序来演示如何使用这些布局选项。本示例将创建一个简单的计算器界面,其中包含数字按钮、运算符按钮和一个文本框用于显示计算结果。

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;

public class CalculatorApp extends Application {

    private TextField display;

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

    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("Calculator");

        GridPane root = createLayout();

        Scene scene = new Scene(root, 300, 400);
        primaryStage.setScene(scene);

        primaryStage.show();
    }

上一篇:java 字符串替换 括号中的内容
下一篇:没有了
网友评论