用于在jtextarea中显示行号的Java代码

use*_*811 7 java swing jtextarea rowheader

我试图编写java代码来弹出文本区域,如果我在右边的jtextarea中添加9000行,它会显示9000行和垂直行.

无论如何我能做到吗? 在此输入图像描述

无论如何,我可以像在图片中添加行号.

请帮我!!谢谢!!

这是我的代码:

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.LayoutManager;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.ScrollPaneConstants;
import javax.swing.text.DefaultCaret;


public class test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub


        final JFrame frame = new JFrame("Test");
        JPanel panel = new JPanel();
        panel.setLayout((LayoutManager) new BoxLayout(panel, BoxLayout.Y_AXIS));
        panel.setOpaque(true);
        final JTextArea textArea = new JTextArea(20, 30);
        textArea.setWrapStyleWord(true);
        textArea.setEditable(true);
        textArea.setFont(Font.getFont(Font.SANS_SERIF));
        JScrollPane scroller = new JScrollPane(textArea);
        scroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
        scroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);



        JPanel inputpanel = new JPanel();
        inputpanel.setLayout(new FlowLayout());

        JButton button = new JButton("Enter");
        DefaultCaret caret = (DefaultCaret) textArea.getCaret();
        caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);
        panel.add(scroller);

        inputpanel.add(button);
        panel.add(inputpanel);
        frame.getContentPane().add(BorderLayout.CENTER, panel);
        frame.pack();
        frame.setLocationByPlatform(true);
        frame.setVisible(true);
        frame.setResizable(false);


        button.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {

            frame.dispose();
        }});
        frame.setSize(500, 400);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   


    }

}
Run Code Online (Sandbox Code Playgroud)

请帮我!!谢谢!!

cam*_*ckr 15

请参阅文本组件行号以获取可用作包含文本区域的滚动窗格的行标题的组件.