Одна строка JTextArea - PullRequest
       0

Одна строка JTextArea

5 голосов
/ 12 октября 2011

Когда вы вводите текст в JTextArea, он автоматически подстраивает свой размер под размер введенного текста.

Однако JTextField, похоже, этого не делает. Вот SSCCE, который демонстрирует проблему:

public static void main(String[] args) {

    JFrame frame = new JFrame();
    frame.setLayout(new FlowLayout(FlowLayout.LEFT));
    frame.add(new JTextArea("I resize as you type."));
    frame.add(new JTextField("I don't."));
    frame.setSize(200,100);
    frame.setVisible(true);
}

Automatic resizing

Мне было интересно, есть ли способ, с помощью которого JTextField может настроить ширину. Я хотел бы просто использовать JTextArea, но я могу принять только одну строку ввода.

1 Ответ

8 голосов
/ 12 октября 2011

но я могу принять только одну строку ввода

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

textArea.getDocument().putProperty("filterNewlines", Boolean.TRUE);
...