上一篇
Java中如何添加文字标签?
- 后端开发
- 2025-07-02
- 2642
在Java中为图形界面添加文字标签,通常使用Swing库的JLabel组件,摘要如下:,创建JLabel对象并设置文本内容,通过setText()方法动态更新文字,添加到容器(如JFrame)中,可自定义字体、颜色和对齐方式,适用于Swing/AWT应用程序的界面文字展示。
在Java中添加文字标签主要取决于应用场景:图形用户界面(GUI)开发、Web应用或图像处理,以下是具体实现方法和代码示例:
Swing GUI 中的文字标签(最常用)
使用 JLabel 类为桌面应用添加文本标签:

import javax.swing.*;
public class LabelExample {
public static void main(String[] args) {
// 创建窗口
JFrame frame = new JFrame("文字标签示例");
frame.setSize(300, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建文字标签
JLabel label = new JLabel("这是一个Swing文字标签");
// 设置样式(可选)
label.setHorizontalAlignment(SwingConstants.CENTER); // 居中
label.setFont(new Font("微软雅黑", Font.BOLD, 16)); // 字体样式
// 添加标签到窗口
frame.add(label);
frame.setVisible(true);
}
}
关键参数:
setText():动态更新标签文本setForeground(Color.RED):设置文字颜色setIcon():添加图标(图文混合)
JavaFX 中的文字标签(现代GUI方案)
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class JavaFXLabel extends Application {
@Override
public void start(Stage stage) {
Label label = new Label("JavaFX文字标签");
// CSS样式设置(直接内联)
label.setStyle("-fx-font-size: 18px; -fx-text-fill: #0066cc;");
// 创建场景并显示
Scene scene = new Scene(new StackPane(label), 300, 200);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch();
}
}
特性:

- 支持CSS样式分离
- 内置动画效果(如
label.setRotate(45)旋转文本) - 响应式布局支持
Web应用中的文字标签
JSP 方案
<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<body>
<!-- 静态文字标签 -->
<span class="info-label">用户名:</span>
<!-- 动态文字标签(Java后端数据绑定) -->
<h2><%= request.getAttribute("welcomeMessage") %></h2>
</body>
</html>
Thymeleaf 模板(Spring Boot推荐)
<!-- 静态标签 -->
<label th:text="#{user.name}">用户名</label>
<!-- 动态绑定 -->
<div th:text="${dynamicContent}">默认文本</div>
图像处理中的文字标签
使用 Graphics2D 在图片上添加文字:
import java.awt.*;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.File;
public class ImageText {
public static void main(String[] args) throws Exception {
// 创建空白图像
BufferedImage image = new BufferedImage(400, 200, BufferedImage.TYPE_INT_RGB);
Graphics2D g2d = image.createGraphics();
// 设置背景和文字
g2d.setColor(Color.WHITE);
g2d.fillRect(0, 0, 400, 200);
g2d.setColor(Color.BLACK);
g2d.setFont(new Font("宋体", Font.PLAIN, 24));
// 添加文字(坐标参数为基线位置)
g2d.drawString("图片水印文字", 50, 100);
// 保存输出
ImageIO.write(image, "png", new File("label.png"));
g2d.dispose();
}
}
Android 中的文字标签
// XML布局文件(activity_main.xml)
<TextView
android:id="@+id/sample_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Android文字标签"
android:textSize="20sp"
android:textColor="#FF5722" />
// Java代码动态修改
TextView label = findViewById(R.id.sample_label);
label.setText("更新后的文本");
选择建议
- 桌面应用:Swing(旧系统维护)/ JavaFX(新项目首选)
- Web应用:Thymeleaf/JSP + HTML标签
- 图像/PDF处理:
Graphics2D或 Apache PDFBox - 移动端:Android原生组件
避坑指南:
- Swing中更新标签后需调用
revalidate()刷新界面- JavaFX避免在UI线程执行耗时操作
- Web应用注意XSS攻击(对动态文本使用
HtmlUtils.escapeHtml())
引用说明:
本文代码示例基于Oracle官方Swing教程、JavaFX文档、Android开发者指南及Spring框架最佳实践,具体API细节可参考:

- Oracle JLabel文档
- JavaFX Label教程
- Android TextView文档
- Thymeleaf文本标签用法
