JavaFX基本控件-Label

JavaFX基本控件-Label

常用属性

text

设置文本内容

java 复制代码
label.setText("这是一个测试数据");

padding

内边距

java 复制代码
label.setPadding(new Insets(5, 10, 5, 10));

alignment

文本对齐方式,单行显示内容少的时候体现

java 复制代码
label.setAlignment(Pos.CENTER);

textAlignment

文本对齐方式,在多行文本换行的时候着重体现

java 复制代码
label.setTextAlignment(TextAlignment.LEFT);

width

java 复制代码
label.setMinWidth(100);
label.setPrefWidth(100);
label.setMaxWidth(200);

height

java 复制代码
label.setMinHeight(50);
label.setPrefHeight(50);
label.setMaxHeight(100);

tooltip

提示信息,鼠标放上去会给出一个提示

java 复制代码
label.setTooltip(new Tooltip("测试Tooltip"));

border

设置边框

java 复制代码
Border border = new Border(new BorderStroke(Paint.valueOf("red"), BorderStrokeStyle.SOLID, new CornerRadii(20), new BorderWidths(3)));
label.setBorder(border);

wrapText

设置是否自动换行

java 复制代码
label.setWrapText(true);

ellipsisString

设置超长的省略号(自定义字符串)

java 复制代码
label.setEllipsisString("^^^^^^");

underline

设置文本下划线

java 复制代码
label.setUnderline(true);

实现方式

Java实现

java 复制代码
public static VBox demo1() {
   VBox vBox = new VBox();
   vBox.setPadding(new Insets(10, 10, 5, 20));
    Label label = build();
    label.setBorder(new Border(new BorderStroke(Paint.valueOf("red"), BorderStrokeStyle.SOLID, new CornerRadii(20), new BorderWidths(3))));
    label.setText("这是一个测试数据,测试一下换行数据,越野与呜呜呜呜测试,多行越界");
    label.setAlignment(Pos.CENTER_RIGHT);
    label.setTextAlignment(TextAlignment.RIGHT);
    vBox.getChildren().add(label);

    label = build();
    label.setBorder(new Border(new BorderStroke(Paint.valueOf("blue"), BorderStrokeStyle.SOLID, new CornerRadii(20), new BorderWidths(3))));
    label.setText("单行数据");
    label.setAlignment(Pos.CENTER_LEFT);
    label.setTextAlignment(TextAlignment.RIGHT);
    vBox.getChildren().add(label);

    label = new Label();
    label.setBorder(new Border(new BorderStroke(Paint.valueOf("green"), BorderStrokeStyle.SOLID, new CornerRadii(20), new BorderWidths(3))));
    label.setText("这是一个测试数据,测试数据多行捕不越界");
    label.setAlignment(Pos.CENTER_RIGHT);
    label.setTextAlignment(TextAlignment.RIGHT);
    vBox.getChildren().add(label);
    return vBox;
}

private static Label build() {
    Label label = new Label();
    label.setBorder(new Border(new BorderStroke(Paint.valueOf("red"), BorderStrokeStyle.SOLID, new CornerRadii(20), new BorderWidths(3))));
    label.setPadding(new Insets(5, 10, 5, 10));
    label.setTooltip(new Tooltip("测试Tooltip"));
    label.setText("测试数据");
    label.setAlignment(Pos.CENTER_RIGHT);
    label.setTextAlignment(TextAlignment.RIGHT);

    label.setMinWidth(100);
    label.setPrefWidth(100);
    label.setMaxWidth(200);

    label.setMinHeight(50);
    label.setPrefHeight(50);
    label.setMaxHeight(100);

    label.setWrapText(true);
    label.setEllipsisString("^^^^^^");
    return label;
}

fxml实现

fxml 复制代码
 <Label alignment="CENTER" ellipsisString="^^^^^^" maxHeight="100" maxWidth="200" prefHeight="50" prefWidth="100"
       text="这是一个测试数据,测试一下换行数据" textAlignment="RIGHT" textFill="#877f3a"
       underline="true" wrapText="true">
    <padding>
        <Insets bottom="10.0" left="10.0" right="10.0" top="10.0"/>
    </padding>
    <font>
        <Font name="Arial Bold" size="14.0"/>
    </font>
</Label>
相关推荐
asom225 分钟前
Java 05正则表达式
java·正则表达式
qq_25183645728 分钟前
基于springboot3 VUE3 火车订票系统前后端分离项目适合新手学习的项目包含 智能客服 换乘算法
java·开发语言·spring boot·后端·学习
oioihoii39 分钟前
C++23:修正常量迭代器、哨兵和范围
java·开发语言·c++23
im_AMBER1 小时前
Leetcode 01 java
java·学习·leetcode
说码解字1 小时前
Kotlin 协程
java·前端·kotlin
laowangpython2 小时前
高频Java面试题深度拆解:String/StringBuilder/StringBuffer三剑客对决(万字长文预警)
java·开发语言·其他
程序员老王wd2 小时前
多线程下如何保证事务的一致性
java
曼岛_2 小时前
[Java实战]Spring Boot整合Sentinel:流量控制与熔断降级实战(二十九)
java·spring boot·sentinel