2

現在のシステムステータスを表示するために使用するHTMLスタイルのjTextPaneを使用するJavaSwingインターフェイスを構築しています。HTMLを使用してテキストの外観と配置を設定しながら、いくつかの文字列(時間の経過とともに変化する可能性があります)を表示できるようにしたいと思います。以下のコード行を使用して、jTextPaneに2つの文字列を表示します。

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>");

私が欲しいのは、2つの文字列(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 に答える