2014-03-13 118 views
0

所以,我在我的程序中有一個JTextArea,並且正在追加一些文本。 我試圖僅僅使附加字符串中的一個粗體,而沒有使所有JTextArea中的文本變爲粗體。似乎沒有辦法,至少沒有我能找到的方法來編輯字符串的字體,而無需將其添加到JLabel(我寧願不這樣做)。爲單個字符串設置字體?

任何人都知道解決這個問題?

謝謝你的時間。

回答

1

使用的JTextPane代替JTextArea中。通過在此組件中嵌入文本作爲html,您可以更自由地設置文本的樣式。看到這個例子:

JTextPane myTextPane = new JTextPane(); 
myTextPane.setContentType("text/html"); 
StringBuilder stringBuilder = new StringBuilder(); 
stringBuilder.append("<html>"); 
stringBuilder.append("<b>bold text </b>"); 
stringBuilder.append("normal text"); 
stringBuilder.append("</html>"); 


myTextPane.setText(stringBuilder.toString()); 
+0

在JTextPane類中似乎沒有附加方法。 – Shaun

+0

我得等到明天再試一試。 (因爲我哥哥在睡覺,踢出了我的房間)>。> – Shaun

+0

很遺憾沒有。看來,當我使用myTextPane.setContentType(「文本/ HTML」);該字符串不會出現。 – Shaun

3

最好的解決方法:不要使用JTextArea,這是一個用於輕鬆顯示簡單單一文本文本的組件。而應使用更強大的文本組件之一,如JEditorPane或JTextPane。請在教程一看:

+0

好的。我會盡力回覆你。謝謝。 – Shaun