You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Java的JLabel中为字符串内的单个字符添加下划线?

在JLabel中给单个字符添加下划线的简便方案

嘿,其实这个问题不用找复杂的实现——Swing的JLabel本身就支持HTML格式文本,这是最省心的解决办法!

你只需要把要显示的文本用HTML标签包裹,给需要下划线的字符加上<u>标签就可以了。比如针对你的需求,直接这么写:

// 创建带有下划线"M"的JLabel
JLabel modifyLabel = new JLabel("<html><u>M</u>odify</html>");

如果你的文本是动态生成的,或者需要灵活指定要下划线的字符,也可以通过字符串拼接生成HTML内容,示例代码如下:

String text = "Modify";
char charToUnderline = 'M';

// 找到目标字符的位置
int charIndex = text.indexOf(charToUnderline);
if (charIndex != -1) {
    // 拼接HTML格式的字符串
    String htmlContent = String.format(
        "<html>%s<u>%c</u>%s</html>",
        text.substring(0, charIndex),
        charToUnderline,
        text.substring(charIndex + 1)
    );
    JLabel dynamicLabel = new JLabel(htmlContent);
}

这个方案的优势在于完全利用Swing内置的能力,不需要自定义JLabel子类或者引入第三方库,简单又可靠。

内容的提问来源于stack exchange,提问作者buencamino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:08:43