Присвоение значения с TextField в String

103
17 апреля 2021, 12:50

Не понимаю, как присвоить значение String c TextField.

//String a = new String();
Button btn2 = new Button("Открыть файл");
btn2.setPrefHeight(btnH);
btn2.setLayoutY(10);
btn2.setLayoutX(10+btnW+20);
btn2.setOnAction(event -> String a = edit.getText());
Answer 1

Вы создаёте строку a внутри анонимного класса и присваиваете ей значение. После выполнения этой строчки кода строка никуда не сохраняется, а к анонимному классу уже нет доступа.
Вам нужно создать строку в теле класса. Также, так как в анонимных классах нельзя использовать не final или effectively final переменные и, соответственно, изменять объявлённые вне анонимного класса переменные там тоже нельзя, вам нужно создать метод, сохраняющий значение TextField в строку.

// в теле класса
TextField edit = new TextField();
String a = "";
void saveA() {
    a = edit.getText();
}
// в теле метода
btn2.setOnAction(event -> saveA());
READ ALSO
Функция TestRestTemplate.withBasicAuth() не работает

Функция TestRestTemplate.withBasicAuth() не работает

Функция TestRestTemplatewithBasicAuth() не работает В настройках доступ ко всем ендпоинтам открыт

81
Как запретить нажатие клавиши Enter для кнопки?

Как запретить нажатие клавиши Enter для кнопки?

У меня есть некий "Кликер Монет"Но если нажать один раз на кнопку, то в будущем можно будет просто зажать клавишу Enter и счётчик монет будет...

90
Как отследить DevTools состояние?

Как отследить DevTools состояние?

Возможно ли по средствам JavaScript отследить что пользователь зашел на старицу с уже открытой панелью разработчика DevTools ? (не только для Chrome но и для...

82
Проверка браузера с помощью js

Проверка браузера с помощью js

Пишу программу-парсер на Java, но проблема в том, что у некоторых сайтов (как пример со списком прокси-серверов) перед входом на сайт есть скрипт...

104