如何让我的 JTextArea 或 JTextPane 自动创建一个新行?

How to make my JTextArea or JTextPane automatically create a new line?

在我的程序中,我想要一个较大的区域用于输入。我一直在使用 JTextPanes 和 JTextAreas。但是,如果我连续键入,当我到达该区域的末尾时,它不会自动创建一个新行,它只是继续离开框,我知道我可以添加一个水平滚动条,但我更希望它只是下降到当我到达框的末尾时换行。我看到了一个叫做 dropMode 的东西,并尝试使用它看看它是否有帮助,但它只是导致了以下错误 "Unsupported drop mode for text"。我的程序是基于 GUI 的,因此用户将直接在该区域中键入内容,而不是附加它。

textArea.setLineWrap(true) 应该如您所愿。

示例:

public Etst() {
    JFrame f = new JFrame();
    f.setLayout(new BorderLayout());
    JTextArea area = new JTextArea();
    area.setLineWrap(true);
    f.add(area);
    f.setSize(100, 100);
    f.setVisible(true);
}