java编程中如何实现把textarea中一部分文字改变字体或颜色?
1个回答
展开全部
JTextArea是不能改变部分文字属性的,你用JTextPane作为文本输入区域就可以了。
给你个例子:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.text.*;
public class DocColorTest extends JFrame{JTextPane textPane = new JTextPane();
JPanel contPane = new JPanel();
public DocColorTest(){super(DocColorTest);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
setBounds((d.width-300)/2,(d.height-200)/2,300,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
contPane.setLayout(new BorderLayout());
contPane.add(new JScrollPane(textPane),Center);
insertDocument(Blue text, Color.BLUE);
insertDocument(Red text, Color.RED);
setContentPane(contPane);
setVisible(true);}public static void main(String [] args){new DocColorTest();}public void insertDocument(String text , Color textColor)//根据传入的颜色及文字,将文字插入文本域{SimpleAttributeSet set = new SimpleAttributeSet();
StyleConstants.setForeground(set, textColor);//设置文字颜色
StyleConstants.setFontSize(set, 12);//设置字体大小
Document doc = textPane.getStyledDocument();try{doc.insertString(doc.getLength(), text, set);//插入文字}catch (BadLocationException e){}}}然后你根据需要自己改改吧
给你个例子:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.text.*;
public class DocColorTest extends JFrame{JTextPane textPane = new JTextPane();
JPanel contPane = new JPanel();
public DocColorTest(){super(DocColorTest);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
setBounds((d.width-300)/2,(d.height-200)/2,300,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
contPane.setLayout(new BorderLayout());
contPane.add(new JScrollPane(textPane),Center);
insertDocument(Blue text, Color.BLUE);
insertDocument(Red text, Color.RED);
setContentPane(contPane);
setVisible(true);}public static void main(String [] args){new DocColorTest();}public void insertDocument(String text , Color textColor)//根据传入的颜色及文字,将文字插入文本域{SimpleAttributeSet set = new SimpleAttributeSet();
StyleConstants.setForeground(set, textColor);//设置文字颜色
StyleConstants.setFontSize(set, 12);//设置字体大小
Document doc = textPane.getStyledDocument();try{doc.insertString(doc.getLength(), text, set);//插入文字}catch (BadLocationException e){}}}然后你根据需要自己改改吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询