1

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

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

/*
 * 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();

    }
}

那么,我该如何实现呢?

4

1 回答 1

0

AJTextArea是纯文本组件。它可以显示不同字体的文本,但所有文本都使用相同的字体。你会想要使用类似JSyntaxPane的东西。

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

于 2013-03-28T22:07:56.643 回答