java – 更改JTextArea中不同行的字体

我想在JTextArea中添加不同的字体行,但是最后一个字体似乎覆盖了另一个字体.

请帮忙…

import java.awt.*;
import javax.swing.*;

@SuppressWarnings("serial")
public class test extends JFrame {

private static JTextArea referenceTextArea = new JTextArea(10,10);
private JPanel panel = new JPanel();

public test() {
    this.add(panel);
    panel.add(referenceTextArea);
}

public static void texttest() {
    referenceTextArea.setFont(new Font("Serif",Font.BOLD,15));
    referenceTextArea.append("line1");
    referenceTextArea.append("\n");

    referenceTextArea.setFont(new Font("Serif",Font.ITALIC,30));
    referenceTextArea.append("line2");
    referenceTextArea.append("\n");
}

public static void main(String[] args) {
    test frame = new test();
    frame.setVisible(true);
    frame.setSize(400,400);
    frame.setResizable(false);
    frame.setLocationRelativeto(null);
    frame.setDefaultCloSEOperation(EXIT_ON_CLOSE);

    texttest();
}
}

解决方法

尝试使用JEditorPane / JTextPane

http://download.oracle.com/javase/tutorial/uiswing/components/editorpane.html

这些支持HTML格式.普通的JTextArea的setFont方法只会设置整个textarea的字体.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...