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>
相关推荐
Mahir087 小时前
Spring 循环依赖深度解密:从问题本质到三级缓存源码级解析
java·后端·spring·缓存·面试·循环依赖·三级缓存
RyFit8 小时前
SpringAI 常见问题及解决方案大全
java·ai
石山代码8 小时前
C++ 内存分区 堆区
java·开发语言·c++
绝知此事8 小时前
【算法突围 01】线性结构与哈希表:后端开发的收纳术
java·数据结构·算法·面试·jdk·散列表
无风听海9 小时前
C# 隐式转换深度解析
java·开发语言·c#
一只大袋鼠9 小时前
Git 进阶(二):分支管理、暂存栈、远程仓库与多人协作
java·开发语言·git
德思特10 小时前
从 Dify 配置页理解 RAG 的重要参数
java·人工智能·llm·dify·rag
YOU OU10 小时前
Spring IoC&DI
java·数据库·spring
один but you11 小时前
从可变参数到 emplace:现代 C++ 性能优化的核心组合
java·开发语言
是码龙不是码农11 小时前
ThreadPoolExecutor 7 个核心参数详解
java·线程池·threadpool