Swing: разверните JTextField, но не более максимально допустимых символов
У меня есть ситуация, когда JTextField должен иметь только 80 символов. JTextField может расти вместе с рамкой. Я бы хотел, чтобы JTextField увеличивался, но только до размера, в котором он мог бы вмещать 80 символов, даже если кадр был расширен больше.
2 ответа
JPanel textConstrain = new JPanel(new FlowLayout()); // will respect maximum size
JTextField maxSizeField = new JTextField(80);
textConstrain.add(maxSizeField);
Вы можете использовать jtextField.setColumns(колонки); Он принимает количество столбцов, то есть количество символов. Вы можете либо установить его на 80, чтобы размер всегда подходил для 80 символов, либо вы можете прослушать событие изменения текста, а в соответствии с длиной введенного символа вы можете изменить количество столбцов JTextField, вызвав setColumns(inputText)..length);
Надеюсь это поможет.