У меня есть два этапа с именами основной и второй. На каждом этапе есть кнопка и текстовое поле. Что я хочу сделать, это то, когда я нажимаю кнопку на основном этапе, отображается второй этап и когда я нажимаю кнопку на этапево-вторых, он получает текст из текстового поля на втором этапе и помещает текст в текстовое поле на первом этапе.Прости мой плохой английский. Ты узнаешь его после прочтения моего кода.
//PrimaryController
public class PrimaryController {
@FXML
private TextField name;
@FXML
private void handleBtnAction(){
FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("second.fxml"));
try {
loader.load();
} catch (IOException e) {
e.printStackTrace();
}
Stage stage = new Stage();
stage.setScene(new Scene(loader.getRoot()));
stage.showAndWait();
}
public void setText(String text){
System.out.println("Setting text");
name.setText(text);
}
}
Это второй контроллер
public class SecondController {
@FXML
private TextField name;
@FXML
private void handleBtn(MouseEvent event){
FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("primary.fxml"));
try {
loader.load();
} catch (IOException e) {
e.printStackTrace();
}
PrimaryController controller = loader.getController();
controller.setText(name.getText());
}
}
В результате, когда я нажимаю кнопку на втором этапе "Настройка текста "будет напечатана в консоли, но текстовое поле в основном этапе не будет установлено.Итак, как я могу заставить его работать?