2012-11-30 29 views
2

我正在構建一個Java Swing接口,其中有一個HTML樣式的jTextPane,用於顯示當前系統狀態。我希望能夠顯示一些字符串(可能隨時間而改變),同時使用HTML來設置文本的外觀和位置。我使用下面的代碼行在jTextPane中顯示它們的兩個字符串。在html樣式的jTextPane中插入java變量

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

定義HTML代碼爲template,並使用佔位符%sstringAstringB。然後使用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); 
+0

謝謝,這是正是我需要的! –

2
jTextPane1.getDocument().insertString(offset, stringToInsert, attributes); 
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)); 
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);