// mq612(理想)
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.text.*;
public class Test {
JFrame frame;
JTextPane textPane;
public Test() {
frame = new JFrame("JTextPane");
textPane = new JTextPane();
setAttr("第一行的文字", Color.red, false, 12);
setAttr("第二行的文字", Color.BLACK, true, 25);
setAttr("第三行的文字", Color.BLUE, false, 20);
frame.getContentPane().add(textPane, BorderLayout.CENTER);
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
frame.setSize(200, 300);
frame.setVisible(true);
}
/**
* 插入文字
* @param str 字符串
* @param attrSet 字符串详细描述
*/
public void insert(String str, AttributeSet attrSet) {
Document doc = textPane.getDocument();
str = str + "/n";
try {
doc.insertString(doc.getLength(), str, attrSet);
} catch (BadLocationException e) {
System.out.println("BadLocationException: " + e);
}
}
/**
* 简单的设置文字使用的样式
* @param str 字符串
* @param col 颜色
* @param bold 是否粗体,true为粗
* @param fontSize 字体大小
*/
public void setAttr(String str, Color col, boolean bold, int fontSize) {
SimpleAttributeSet attrSet = new SimpleAttributeSet();
StyleConstants.setForeground(attrSet, col);
StyleConstants.setBold(attrSet, bold);
StyleConstants.setFontSize(attrSet, fontSize);
insert(str, attrSet);
}
public static void main(String[] args) {
new Test();
}
}