在我提出问题之前,我试着尽可能地进行研究,尤其是一个如此简单的问题,请耐心等待。
我有一个以制表符分隔的字符串,当我将它输出到Java中的JTextArea时,我得到的行为如下所示:
FirstName LastName PhoneNumber BirthDate
在启用水平滚动的情况下关闭Linewrap。在对文档和SA进行劳作之后,我遗漏了一些明显的原因,即为什么它会表现出这种行为。
答案 0 :(得分:1)
正如@kleopatra的评论,这并不意外。作为替代方案,请考虑JTable
或How to Use HTML in Swing Components。
附录:我之前忽略了setTabSize()
。
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();
}
});
}
}