TextArea多色文本

时间:2013-03-28 21:36:24

标签: java syntax-highlighting

对于我的应用程序,我将在我的文本框中进行语法突出显示。我不确定的是,如何在一个盒子里做多色而不是一个颜色。

我知道我可以这样做,但它会将所有文字设置为一种颜色。

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ssccee;

import java.awt.Color;
import java.awt.Font;
import javax.swing.JFrame;
import javax.swing.JTextArea;

/**
 *
 * @author ryannaddy
 */
public class Sscce extends JFrame{

    JTextArea txt = new JTextArea();

    public Sscce(){

        setLayout(null);

        txt.setBounds(3, 3, 300, 200);
        add(txt);

        Font font = new Font("Verdana", Font.BOLD, 12);
        txt.setFont(font);
        txt.setForeground(Color.BLUE);

        txt.setText("\n \n JTextArea font & color change example");
    }

    public static void main(String[] args){

        Sscce jtxt = new Sscce();
        jtxt.setSize(313, 233);
        jtxt.setTitle("JTextArea font & color settings");
        jtxt.show();

    }
}

那么,我该怎么做呢?

1 个答案:

答案 0 :(得分:0)

JTextArea是纯文本组件。它可以显示不同字体的文本,但所有文本都使用相同的字体。您希望使用JSyntaxPane之类的内容。

  

使用和扩展JEditorKit非常简单,支持几种语言。主要目标是让拥有漂亮外观的Java Swing编辑器变得容易,并支持语法高亮显示。