Question: Create a login page and register page using JavaFX using the following code for an Airline Reservation. Must have same colors on both pages, using
Create a login page and register page using JavaFX using the following code for an Airline Reservation.
Must have same colors on both pages, using JavaFX be creative with UI.
Login Page:
package application; import java.sql.*; import javafx.*; import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.control.TextField; import javafx.scene.layout.GridPane; import javafx.stage.Stage; import javafx.scene.layout.HBox; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.geometry.Insets; import javafx.geometry.Pos; import common.Person; import common.Action; import java.util.*; public class LoginPage extends Application { Button loginButton = new Button("Login"); @Override // Override the start method in the Application class public void start(Stage primaryStage) { // Create a pane and set its properties HBox pane = new HBox(10); pane.setAlignment(Pos.CENTER); //Button loginButton = new Button("Login"); TextField userName = new TextField("UserName"); TextField password = new TextField("Password"); loginButton.setOnAction(e -> login(userName.getText(), password.getText())); pane.getChildren().addAll(userName, password, loginButton); // Create a scene and place it in the stage Scene scene = new Scene(pane, 500, 100); primaryStage.setTitle("HandleEvent"); // Set the stage title primaryStage.setScene(scene); // Place the scene in the stage primaryStage.show(); // Display the stage } /** * The main method is only needed for the IDE with limited * JavaFX support. Not needed for running from the command line. */ public static void main(String[] args) { launch(args); } public void login(String userName, String password) { Person person = new Person(); person.setUsername(userName); person.setPassword(password); person.setAction(Action.LOGIN); //customer.setUserName(userName); //customer.setPassword(password); //customer.setAction(Action.LOGIN); System.out.println("Person:" + userName + " " + password); boolean success = ExceptionHandler.process(person); if (success) { System.out.println("Successful Login!"); person.setAction(Action.GET_FLIGHTS); // customer.setAction(Action.GET_FLIGHTS); success = ExceptionHandler.process(person); if (success) { Stage stage = (Stage) loginButton.getScene().getWindow(); stage.close(); // RegistrationFormNew acc = new RegistrationFormNew(person); AccountPage acc = new AccountPage(person); try { acc.start(new Stage()); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }} Register Page:
package application; import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.geometry.HPos; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.*; import javafx.scene.text.Font; import javafx.scene.text.FontWeight; import javafx.stage.Stage; import javafx.stage.Window; public class RegistrationFormNew extends Application { @Override public void start(Stage primaryStage) throws Exception { primaryStage.setTitle("Registration Form JavaFX Application"); // Create the registration form grid pane GridPane gridPane = createRegistrationFormPane(); // Add UI controls to the registration form grid pane addUIControls(gridPane); // Create a scene with registration form grid pane as the root node Scene scene = new Scene(gridPane, 800, 500); // Set the scene in primary stage primaryStage.setScene(scene); primaryStage.show(); } private GridPane createRegistrationFormPane() { // Instantiate a new Grid Pane GridPane gridPane = new GridPane(); // Position the pane at the center of the screen, both vertically and horizontally gridPane.setAlignment(Pos.CENTER); // Set a padding of 20px on each side gridPane.setPadding(new Insets(40, 40, 40, 40)); // Set the horizontal gap between columns gridPane.setHgap(10); // Set the vertical gap between rows gridPane.setVgap(10); // Add Column Constraints // columnOneConstraints will be applied to all the nodes placed in column one. ColumnConstraints columnOneConstraints = new ColumnConstraints(100, 100, Double.MAX_VALUE); columnOneConstraints.setHalignment(HPos.RIGHT); // columnTwoConstraints will be applied to all the nodes placed in column two. ColumnConstraints columnTwoConstrains = new ColumnConstraints(200,200, Double.MAX_VALUE); columnTwoConstrains.setHgrow(Priority.ALWAYS); gridPane.getColumnConstraints().addAll(columnOneConstraints, columnTwoConstrains); return gridPane; } private void addUIControls(GridPane gridPane) { // Add Header Label headerLabel = new Label("Registration Form"); headerLabel.setFont(Font.font("Arial", FontWeight.BOLD, 24)); gridPane.add(headerLabel, 0,0,2,1); GridPane.setHalignment(headerLabel, HPos.CENTER); GridPane.setMargin(headerLabel, new Insets(20, 0,20,0)); // Add Name Label Label nameLabel = new Label("Full Name : "); gridPane.add(nameLabel, 0,1); // Add Name Text Field TextField nameField = new TextField(); nameField.setPrefHeight(40); gridPane.add(nameField, 1,1); // Add Email Label Label emailLabel = new Label("Email ID : "); gridPane.add(emailLabel, 0, 2); // Add Email Text Field TextField emailField = new TextField(); emailField.setPrefHeight(40); gridPane.add(emailField, 1, 2); // Add Password Label Label passwordLabel = new Label("Password : "); gridPane.add(passwordLabel, 0, 3); // Add Password Field PasswordField passwordField = new PasswordField(); passwordField.setPrefHeight(40); gridPane.add(passwordField, 1, 3); // Add Submit Button Button submitButton = new Button("Submit"); submitButton.setPrefHeight(40); submitButton.setDefaultButton(true); submitButton.setPrefWidth(100); gridPane.add(submitButton, 0, 4, 2, 1); GridPane.setHalignment(submitButton, HPos.CENTER); GridPane.setMargin(submitButton, new Insets(20, 0,20,0)); submitButton.setOnAction(new EventHandler() { @Override public void handle(ActionEvent event) { if(nameField.getText().isEmpty()) { showAlert(Alert.AlertType.ERROR, gridPane.getScene().getWindow(), "Form Error!", "Please enter your name"); return; } if(emailField.getText().isEmpty()) { showAlert(Alert.AlertType.ERROR, gridPane.getScene().getWindow(), "Form Error!", "Please enter your email id"); return; } if(passwordField.getText().isEmpty()) { showAlert(Alert.AlertType.ERROR, gridPane.getScene().getWindow(), "Form Error!", "Please enter a password"); return; } showAlert(Alert.AlertType.CONFIRMATION, gridPane.getScene().getWindow(), "Registration Successful!", "Welcome " + nameField.getText()); } }); } private void showAlert(Alert.AlertType alertType, Window owner, String title, String message) { Alert alert = new Alert(alertType); alert.setTitle(title); alert.setHeaderText(null); alert.setContentText(message); alert.initOwner(owner); alert.show(); } public static void main(String[] args) { launch(args); } } Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
