我正在构建一个Java Swing接口,其中我有一个HTML样式的jTextPane,我用它来显示当前的系统状态。我希望能够显示一些字符串(可能随时间而变化),同时使用HTML来设置文本的外观和位置。我使用下面的代码行在jTextPane中显示它们的两个字符串。
jTextPane1.setText("<html><font size=\"4\" ><b><center> String A here! </center></b></font><br><br><font size=\"3\" ><center> String B here</center></font>");
我想要的是插入两个字符串(A和B),以便我可以随时更改它们。但遗憾的是,我找不到在任何地方插入String的语法。有一个简单的方法吗?提前谢谢。
答案 0 :(得分:4)
将您的HTML代码定义为template
,并使用%s
和stringA
的占位符stringB
。然后使用String.format()
插入字符串。最后在TextPane中设置它。
String template = "<html><font size=\"4\" ><b><center>%s</center></b></font><br><br><font size=\"3\" ><center>%s</center></font>"
String text = String.format(template, stringA, stringB);
jTextPane1.setText(text);
答案 1 :(得分:2)
jTextPane1.getDocument().insertString(offset, stringToInsert, attributes);
答案 2 :(得分:2)
你可以使用一些常量字符串,如:
final String PRE_HTML = "<html><font size=\"4\" ><b><center> ";
final String MID_HTML = " </center></b></font><br><br><font size=\"3\" ><center> ";
final String POST_HTML = "</center></font></html>";
你可以这样设置:
String strA = "String A";
String strB = "String B";
jTextPane1.setText(PRE_HTML + strA + MID_HTML + strB + POST_HTML);
答案 3 :(得分:1)
您可以使用String.format
:
jTextPane1.setText(String.format("<html><font size=\"4\" ><b><center> %s </center></b></font><br><br><font size=\"3\" ><center> %s </center></font>", a, b));