【发布时间】:2016-05-24 14:13:21
【问题描述】:
我有一个对话框,我希望将特定部分设为粗体。
我知道我必须使用html 执行此操作,但是执行此操作时我似乎丢失了一半的对话消息。
原文(无粗体):
public class View extends JFrame {
private final static String NEW_LINE = System
.getProperty("line.separator");
public void someMethodDisplayDialog(String string1, String string2, String string3) {
JOptionPane.showMessageDialog(this,
"An problem occured: " + string1
+ NEW_LINE
+ string2 + " Error: "
+ string3,
"Error",
JOptionPane.ERROR_MESSAGE);
}
}
让我们说:
-
string1 = "Wrong Key!", -
string2 = "Input", -
string = "Z key pressed"。
在对话框中显示:
出现问题:错误的密钥!
输入错误:按下 Z 键
我想加粗“输入错误:”部分。我有这个代码:
JOptionPane.showMessageDialog(this,
"An problem occured: " + string1
+ NEW_LINE + "<html><b>"
+ string2 + " Error:</b></html> "
+ string3,
"Error",
JOptionPane.ERROR_MESSAGE);
运行时,这会加粗我想要的内容,但 '切断' 其余部分,例如。 string3 不显示。
我尝试将结束的</b></html> 标签放在string3 之后。
一切都显示了,但string3也是粗体,我不想要!
我在这里遗漏了一些明显的东西吗?我不确定为什么会这样?
【问题讨论】:
-
1) 该字符串不会触发 HTML 格式化,因为
<html>部分必须是字符串的第一部分。2) 为了尽快获得更好的帮助,请发布 minimal reproducible example 或 @987654322 @.
标签: java html swing jlabel joptionpane