2012-02-22 59 views
1

我在想如何更改一個句子中的特定文本顏色?更改java中的特定文本顏色

可以說HELLO WORLD ......我想改變世界變成紅色,而不會改變對如何改變世界的大膽

的HELLO..same確切的事情字體顏色我想這些設置字符串中的一個JTextArea但所有我能找到的是這樣的

JTextArea textbox = new JTextArea("hello world"); 
textbox.setForeground(Color.red) 

這些使得整個句子變成紅色,而不是隻讓世界變成紅色?

回答

5

查看有關文本組件的Oracle文檔this。一個JTextArea將接受樣式,但它總是將樣式應用於其整個內容。但是,如果您要使用JTextPane,則可以使用HTML在文本中創建任何想要的樣式。

代碼備份斷言:

import javax.swing.JFrame; 
import javax.swing.JTextPane; 
import javax.swing.text.html.HTMLEditorKit; 

public class StyleTestApp { 
    public static void main(final String[] args) { 
     final JFrame f = new JFrame("test"); 
     //f.getContentPane().add(new JTextArea("<html>HELLO <font size=\"3\" face=\"verdana\" color=\"red\">WORLD</font></html>")); 
     final JTextPane p = new JTextPane(); 
     // the HTMLEditorKit is not enabled by default in the JTextPane class. 
     p.setEditorKit(new HTMLEditorKit()); 
     p.setText("<html>HELLO <font size=\"3\" face=\"verdana\" color=\"red\">WORLD</font></html>"); 
     f.getContentPane().add(p); 
     f.pack(); 
     f.setVisible(true); 
    } 
}