package com.packt.learnjava.ch12_gui; import javafx.application.Platform; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.scene.Node; import javafx.scene.Scene; import javafx.scene.control.TextField; import javafx.stage.Stage; import java.net.URL; public class HelloWorldController { @FXML private TextField tfFirstName; @FXML private TextField tfLastName; @FXML private TextField tfAge; @FXML protected void submitClicked(ActionEvent e) { String fn = tfFirstName.getText(); String ln = tfLastName.getText(); String age = tfAge.getText(); int a = 42; try { a = Integer.parseInt(age); } catch (Exception ex) { } fn = fn.isBlank() ? "Nick" : fn; ln = ln.isBlank() ? "Samoylov" : ln; String user = "Hello, " + fn + " " + ln + ", age " + a + "!"; //System.out.println("\nHello, " + fn + " " + ln + ", age " + a + "!"); //Platform.exit(); goToPage2(user); Node source = (Node) e.getSource(); Stage stage = (Stage) source.getScene().getWindow(); stage.close(); } private void goToPage2(String user) { try { FXMLLoader loader = new FXMLLoader(); loader.setLocation(new URL("file:src/main/resources/helloWorld2.fxml")); Scene scene = loader.load(); HelloWorldController2 c = loader.getController(); c.textUser.setText(user); Stage primaryStage = new Stage(); primaryStage.setTitle("Simple form example. Page 2."); primaryStage.setScene(scene); primaryStage.onCloseRequestProperty() .setValue(e -> { System.out.println("\nBye! See you later!"); Platform.exit(); }); primaryStage.show(); } catch (Exception ex) { ex.printStackTrace(); } } }