在html样式的jTextPane中插入java变量

时间:2012-11-30 13:08:54

标签: java html swing jtextpane

我正在构建一个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的语法。有一个简单的方法吗?提前谢谢。

4 个答案:

答案 0 :(得分:4)

将您的HTML代码定义为template,并使用%sstringA的占位符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));
相关问题