如何在 Java 中将消息框中的特定单词(变量)设为粗体?

Posted

技术标签:

【中文标题】如何在 Java 中将消息框中的特定单词(变量)设为粗体?【英文标题】:How do I make a specific word (variable) in a message box bold in Java? 【发布时间】:2010-03-14 02:23:32 【问题描述】:

我试图在我的 Java 程序中将消息框的一个单词(变量)加粗。这是我的代码:

int n = messageBox.showConfirmDialog(frame,
"The File "+ file +" already exists." +
"\n" + "Do you want to replace it?",
"File Already Exists!",
messageBox.YES_NO_OPTION);

我想让变量“file”在我的消息框中以粗体显示。到目前为止,我只能让整个消息框以粗体显示,或者根本没有。我该怎么做?

【问题讨论】:

【参考方案1】:

使用 html 对我来说很好。问题是默认字体已经是粗体,所以你看不到不同的字体。

尝试使用“斜体”标签或“字体”标签并指定不同的颜色以查看差异。

或者,您可以使用自定义字体传入您自己的 JLabel,而不是传入文本字符串。比如:

String message = "<html>The File <b> file </b> already exists</html>";
JLabel label = new JLabel(message);
label.setFont( UIManager.getFont("TextField.font") );

int result = JOptionPane.showConfirmDialog(
    this,
    label,
    "File already exists!",
    JOptionPane.YES_NO_OPTION);

【讨论】:

哈哈,好收获!我什至没有意识到文字已经是粗体了!谢谢大家! 从技术上讲,其他人确实解决了我的问题,只是我没有意识到文本已经是粗体了。如果我能接受这两个答案,我会的。既然你非常关心分数,我会记住你,当我得到足够的分数来赠送你时,你可以拥有你想要的任意数量的 aw……我认为你必须等到我得到 50 分(除非你知道另一种方式)。感谢您的帮助。 真的吗?你的回答是“它在这里不起作用”。因此,如果我没有解释问题并提出其他解决方案,您仍然会猜测。积分不是问题,它们一文不值。 天哪,Camickr,我只是想告诉你这些点感觉很好。百胜,太饱了。 :) Carmickr,如果分数不是问题,你还在写什么?你们都帮助了我,并且没有帮助其他人编写这个网站的代码吗?如果人们只帮助别人得到一些回报,世界将是一个非常糟糕的地方。再次,我确实感谢您的贡献,因为我可能需要更长的时间才能弄清楚我只需要斜体。【参考方案2】:

尝试将您的文本包装在 html 标记中。许多 swing 组件支持一些基本的 HTML,例如斜体、粗体和下划线。例如,您应该将代码更改为:

int n = messageBox.showConfirmDialog(frame,
"<html>The File <b>"+ file +"</b> already exists." +
"\n" + "Do you want to replace it?</html>",
"File Already Exists!",
messageBox.YES_NO_OPTION);

【讨论】:

好主意,但在这里不起作用,即使导入了 javax.swing.text.html.HTML.Tag。 您使用的是什么操作系统/JRE?此语句适用于我(在 Vista/JRE 1.6_u13 上)。 我的操作系统是 W7X64。我为 32 位和 64 位安装了 JDK 1.6.0_17,并且(两者都带有各自的 JRE 1.6.0_17 版本)。我正在使用 NetBeans,它依赖于 32 位 JDK 和 JRE。 感谢您的帮助,您的回答是正确的,我只是没有意识到我的文本在消息窗口中默认为粗体。我只是用斜体代替。

以上是关于如何在 Java 中将消息框中的特定单词(变量)设为粗体?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不将您的应用设为默认消息应用的情况下将短信发送到 android 中的特定应用?

如何在ios中更改特定单词的颜色

如何在java中将数字转换为泰语单词

如何仅在标签中的特定单词上显示工具提示?

MFC中如何给编辑框设置文本内容?

如何将css添加到与搜索框中的单词匹配的div中的单词? [复制]