2

我正在构建一个 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),以便我可以随着时间的推移更改它们。但不幸的是,我找不到在任何地方插入字符串的语法。有没有一种简单的方法可以做到这一点?提前致谢。

4

4 回答 4

4

将您的 HTML 代码定义为并使用和template的占位%s符。然后用来插入你的字符串。最后将其设置在您的 TextPane 中。stringAstringBString.format()

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);
于 2012-11-30T13:24:35.327 回答
2
jTextPane1.getDocument().insertString(offset, stringToInsert, attributes);
于 2012-11-30T13:23:14.373 回答
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);
于 2012-11-30T13:28:43.293 回答
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));
于 2012-11-30T13:24:56.013 回答