1

私のアプリケーションでは、テキスト ボックスに構文を強調表示します。よくわからないのは、1 つのボックスで 1 つの色だけでなく複数の色を使用する方法です。

これができることはわかっていますが、すべてのテキストが 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 に答える