如何在 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 中将消息框中的特定单词(变量)设为粗体?的主要内容,如果未能解决你的问题,请参考以下文章