Когда вы вводите 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);
}
Мне было интересно, есть ли способ заставить JTextField отрегулировать его ширину. Хотел бы я просто использовать JTextArea, но я могу принять только одну строку ввода.