Я хочу обновить значение на JavaFx textfield
после события.У меня есть RootScreen
, который открывает popup
, и в этом popup
у меня есть listview
.Когда пользователь выбирает элемент на этом listview
, он должен обновить значение на texfield
в RootScreen
.Это код действия на button
, которое присутствует в каждом элементе списка.Каждый listItem также имеет TEXTFIELD
и button
для его выбора.Я хочу, чтобы значение на TEXTFIELD
было на texfield
в RootScreen
. Пожалуйста, смотрите прописные и строчные буквы, как я пытался сделать его максимально понятным.
public void initialize() {
button.setOnAction(event -> {
source = select.getParent();
//walletname is the name i want on textfield.
walletName = textField.getText();
getWalletName(walletName);
Stage stage = (Stage) source.getScene().getWindow();
stage.close();
});
}
private void getWalletName(String walletName){
profilePopup.SetText(walletName,rootScreenController);
}
Метод SetText
находится в Popup View Class
.Код для SetText
метода.
public void SetText(String walletName, OnClick onClick){
onClick.onMouseClicked(walletName);
}
У меня есть interface OnClick
, который имеет метод onMouseClicked
.Интерфейс, который я реализовал в RootScreen
public interface OnClick {
void onMouseClicked(String name);
}
Вот как я переопределяю метод в интерфейсе.
@Override
public void onMouseClicked(String walletName) {
textfield.setText(walletname);
}
Но это не обновляет значение в текстовом поле.Я новичок в Java, поэтому я не уверен, что делать здесь.