所以,我在我的程序中有一個JTextArea,並且正在追加一些文本。 我試圖僅僅使附加字符串中的一個粗體,而沒有使所有JTextArea中的文本變爲粗體。似乎沒有辦法,至少沒有我能找到的方法來編輯字符串的字體,而無需將其添加到JLabel(我寧願不這樣做)。爲單個字符串設置字體?
任何人都知道解決這個問題?
謝謝你的時間。
所以,我在我的程序中有一個JTextArea,並且正在追加一些文本。 我試圖僅僅使附加字符串中的一個粗體,而沒有使所有JTextArea中的文本變爲粗體。似乎沒有辦法,至少沒有我能找到的方法來編輯字符串的字體,而無需將其添加到JLabel(我寧願不這樣做)。爲單個字符串設置字體?
任何人都知道解決這個問題?
謝謝你的時間。
使用的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());
最好的解決方法:不要使用JTextArea,這是一個用於輕鬆顯示簡單單一文本文本的組件。而應使用更強大的文本組件之一,如JEditorPane或JTextPane。請在教程一看:
好的。我會盡力回覆你。謝謝。 – Shaun
在JTextPane類中似乎沒有附加方法。 – Shaun
我得等到明天再試一試。 (因爲我哥哥在睡覺,踢出了我的房間)>。> – Shaun
很遺憾沒有。看來,當我使用myTextPane.setContentType(「文本/ HTML」);該字符串不會出現。 – Shaun