JavaFX Label设置高宽

JavaFX是一套用于创建丰富、交互式图形用户界面(GUI)应用程序的框架。在JavaFX中,Label是一种用于显示文字或图标的组件。我们可以通过设置高宽来调整Label的大小,以适应不同的需求。

Label的高宽属性

在JavaFX中,Label组件的高宽属性分别对应于其所占用的空间大小。Label的高度可以通过设置prefHeight属性来调整,默认值为根据内容自适应。Label的宽度可以通过设置prefWidth属性来调整,默认值为根据内容自适应。

设置Label的高宽

下面是一段使用JavaFX创建Label并设置高宽的示例代码:

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

public class LabelDemo extends Application {

    @Override
    public void start(Stage primaryStage) {
        // 创建Label
        Label label = new Label("Hello, JavaFX!");

        // 设置高度
        label.setPrefHeight(50);

        // 设置宽度
        label.setPrefWidth(200);

        // 创建布局容器
        VBox root = new VBox(label);

        // 创建场景
        Scene scene = new Scene(root, 400, 200);

        // 设置舞台标题和场景
        primaryStage.setTitle("Label Demo");
        primaryStage.setScene(scene);

        // 显示舞台
        primaryStage.show();
    }

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

在上面的示例代码中,我们创建了一个Label,并设置了其高度为50,宽度为200。然后将Label添加到一个VBox容器中,并将VBox作为场景的根节点。最后,将场景设置为舞台的场景,并显示舞台。

Label的高宽自适应

除了可以手动设置Label的高宽外,JavaFX还提供了自适应的方式来调整Label的大小。当Label的高度或宽度设置为-1时,Label会根据其内容自动调整大小。

下面是一个示例代码,演示了如何使用自适应方式设置Label的高宽:

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

public class LabelDemo extends Application {

    @Override
    public void start(Stage primaryStage) {
        // 创建Label
        Label label = new Label("Hello, JavaFX!");

        // 设置高度为自适应
        label.setPrefHeight(-1);

        // 设置宽度为自适应
        label.setPrefWidth(-1);

        // 创建布局容器
        VBox root = new VBox(label);

        // 创建场景
        Scene scene = new Scene(root);

        // 设置舞台标题和场景
        primaryStage.setTitle("Label Demo");
        primaryStage.setScene(scene);

        // 显示舞台
        primaryStage.show();
    }

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

在上面的示例代码中,我们将Label的高度和宽度都设置为-1,这样Label会根据其内容自动调整大小。注意,我们不需要显式指定场景的大小,默认情况下,场景会根据其根节点的大小自动调整。

总结

通过设置prefHeightprefWidth属性,我们可以调整JavaFX中Label的高度和宽度。使用自适应方式设置高宽可以让Label根据其内容自动调整大小。

JavaFX中的Label组件是一种简单但功能强大的显示文字或图标的组件。在实际应用中,我们可以根据需要设置Label的高度和宽度,以适应不同的界面布局和设计。