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);

Надеюсь это поможет.

Другие вопросы по тегам