Поведение вывода на вкладке в JTextArea - PullRequest
1 голос
/ 22 сентября 2011

Я стараюсь быть максимально точным в исследованиях, прежде чем задавать вопрос, особенно такой простой, поэтому терпите меня.

У меня есть строка, разделенная табуляцией, и когда я вывожу ее в JTextArea в Java, я получаю поведение, которое выглядит следующим образом:

FirstName   LastName   PhoneNumber         BirthDate

Linewrap отключен с включенной горизонтальной прокруткой. После работы над документацией и SA я упускаю что-то очевидное в отношении того, почему он демонстрирует такое поведение.

1 Ответ

1 голос
/ 22 сентября 2011

Как отмечает @kleopatra, это не является неожиданным.В качестве альтернативы рассмотрим JTable или Как использовать HTML в компонентах Swing .

Добавление: ранее я пропустил 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();
            }
        });
    }
}
...