选项卡JTextArea中的输出行为

时间:2011-09-22 04:04:34

标签: java swing jtextarea

在我提出问题之前,我试着尽可能地进行研究,尤其是一个如此简单的问题,请耐心等待。

我有一个以制表符分隔的字符串,当我将它输出到Java中的JTextArea时,我得到的行为如下所示:

FirstName   LastName   PhoneNumber         BirthDate

在启用水平滚动的情况下关闭Linewrap。在对文档和SA进行劳作之后,我遗漏了一些明显的原因,即为什么它会表现出这种行为。

1 个答案:

答案 0 :(得分:1)

正如@kleopatra的评论,这并不意外。作为替代方案,请考虑JTableHow to Use HTML in Swing Components

附录:我之前忽略了setTabSize()

enter image description here

import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;

/** @see https://stackoverflow.com/questions/7509429 */
public class TextAreaTabs extends JPanel {

    public TextAreaTabs() {
        JTextArea jta = new JTextArea("FirstName\tLastName\tPhoneNumber\tBirthDate");
        jta.setTabSize(10);
        this.add(jta);
    }

    private void display() {
        JFrame f = new JFrame("TextAreaTabs");
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.add(this);
        f.pack();
        f.setLocationRelativeTo(null);
        f.setVisible(true);
    }

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {

            @Override
            public void run() {
                new TextAreaTabs().display();
            }
        });
    }
}