Как увеличить высоту текстового поля в JavaFX

#javafx

#javafx

Вопрос:

Я хочу сделать высоту моего TextField намного больше (оно должно занимать почти половину экрана). Я использую этот код:

  concordText = new TextField("");
 concordText.setPrefHeight(400);
 concordText.setPrefWidth(80);
  

Это действительно увеличивает размер TextField , но текст начинается с середины (как показано на рисунке). Как мне заставить его начинаться с начала текста?

скриншот

Комментарии:

1. Вы говорите о TextBox или TextField ?

2. @Abra — Поскольку такого понятия, как a, не существует TextBox , а код показывает a TextField , я думаю, можно с уверенностью предположить, на что они ссылаются 🙂

3. @Zephyr, раньше было TextBox . Поскольку в OP не указано, какие версии JavaFX он использует, возможно, это 1.3 😉

Ответ №1:

Поскольку a TextField предназначено только для одной строки текста, вы хотите использовать TextArea вместо этого.

Для того, чтобы TextArea расширить текстовое поле по вертикали, чтобы заполнить доступное пространство, оберните его в VBox и соответствующим образом установите приоритет VGrow:

 TextArea textArea = new TextArea();
VBox.setVgrow(textArea, Priority.ALWAYS);
  

Комментарии:

1. Большое вам спасибо! Это было именно то, что мне было нужно.