Java如何实现显示行标

来源:百度知道 编辑:UC知道 时间:2024/07/07 10:55:11
许多编辑器中都有在左侧显示行号的功能,这个在Java中怎样实现?
如 中间是一个TextArea. 左侧则显示文字的行号.
请给出实例代码。谢谢

 
 
 
Good question!

显示行号的组件必须和文本域分开但又必须和文本域一起上下滚动。
做这种事有比把两个 JTextArea 包在一个 JScrollPane 里更容易的方法吗?

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

class C extends JFrame {
    public C( ) {
        final JTextArea textArea = new JTextArea( 20, 50 ),
                        lineNumberColumn = new JTextArea( " 1 " );

        textArea.getDocument( ).addDocumentListener( new DocumentListener( ) {
            public void insertUpdate( DocumentEvent e ) {
                lineNumberColumn.setTe