Guest User

Untitled

a guest
Mar 4th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.10 KB | None | 0 0
  1. package Computing;
  2.  
  3. import javafx.application.Application;
  4. import static javafx.application.Application.launch;
  5. import javafx.event.ActionEvent;
  6. import javafx.event.EventHandler;
  7. import javafx.geometry.HPos;
  8. import javafx.geometry.Insets;
  9. import javafx.geometry.Pos;
  10. import javafx.scene.Scene;
  11. import javafx.scene.control.*;
  12. import javafx.scene.layout.*;
  13. import javafx.scene.text.Font;
  14. import javafx.scene.text.FontWeight;
  15. import javafx.stage.Stage;
  16. import javafx.stage.Window;
  17.  
  18. public class Computing extends Application {
  19.  
  20. Stage stage;
  21.  
  22. @Override
  23. public void start(Stage primaryStage) throws Exception {
  24. stage = primaryStage;
  25. primaryStage.setTitle("Computing Quiz");
  26.  
  27. GridPane gridPane = createComputingQuizPane();
  28. // ui controls to gridpane
  29. addUIControls(gridPane);
  30. // scene
  31. Scene scene = new Scene(gridPane, 800, 500);
  32. // primary stage scene set
  33. stage.setScene(scene);
  34. stage.show();
  35. }
  36.  
  37.  
  38. public GridPane createComputingQuizPane() {
  39. // Instantiate a new Grid Pane
  40. GridPane gridPane = new GridPane();
  41. gridPane.setAlignment(Pos.CENTER);
  42. gridPane.setPadding(new Insets(40, 40, 40, 40));
  43. gridPane.setHgap(10);
  44. gridPane.setVgap(10);
  45. return gridPane;
  46. }
  47.  
  48. public void addUIControls(GridPane gridPane) {
  49. // HEADER
  50. Label headerLabel = new Label("Welcome to a Computing Quiz!");
  51. headerLabel.setFont(Font.font("Arial", FontWeight.BOLD, 24));
  52. gridPane.add(headerLabel, 0,0,2,1);
  53. GridPane.setHalignment(headerLabel, HPos.CENTER);
  54. GridPane.setMargin(headerLabel, new Insets(20, 0,20,0));
  55.  
  56. // LOGIN BUTTON
  57. Button loginButton = new Button("Login");
  58. loginButton.setPrefHeight(50);
  59. loginButton.setDefaultButton(true);
  60. loginButton.setPrefWidth(125);
  61. gridPane.add(loginButton, 0, 4, 2, 1);
  62. GridPane.setHalignment(loginButton, HPos.CENTER);
  63. GridPane.setMargin(loginButton, new Insets(20, 0,20,0));
  64.  
  65.  
  66. // REGISTER BUTTON
  67. Button registerButton = new Button ("Register");
  68. registerButton.setPrefHeight(50);
  69. registerButton.setDefaultButton(true);
  70. registerButton.setPrefWidth(125);
  71. gridPane.add(registerButton,0,5,2,1);
  72. GridPane.setHalignment(registerButton,HPos.CENTER);
  73. GridPane.setMargin(registerButton, new Insets(20,0,20,0));
  74. registerButton.setOnAction(e-> buttonClick());
  75.  
  76.  
  77.  
  78. }
  79.  
  80. public void buttonClick(){
  81. Register nc = new Register(stage);
  82. }
  83. public static void main(String[] args) {
  84. launch(args); }
  85. }
  86.  
  87. package Computing;
  88.  
  89. import javafx.application.Application;
  90. import static javafx.application.Application.launch;
  91. import javafx.event.ActionEvent;
  92. import javafx.event.EventHandler;
  93. import javafx.geometry.HPos;
  94. import javafx.geometry.Insets;
  95. import javafx.geometry.Pos;
  96. import javafx.scene.Scene;
  97. import javafx.scene.control.*;
  98. import javafx.scene.layout.*;
  99. import javafx.scene.text.Font;
  100. import javafx.scene.text.FontWeight;
  101. import javafx.stage.Stage;
  102. import javafx.stage.Window;
  103.  
  104. public class Register {
  105. Stage stage;
  106. public Register (Stage s){
  107. stage = s;
  108. }
  109.  
  110. public void start(Stage primaryStage){
  111. primaryStage.setTitle("Registration");
  112.  
  113. GridPane gridPane = createRegisterPane();
  114. addUIControls(gridPane);
  115. Scene scene = new Scene(gridPane, 800, 500);
  116. primaryStage.setScene(scene);
  117.  
  118. primaryStage.show();
  119. }
  120.  
  121.  
  122. private GridPane createRegisterPane() {
  123. GridPane gridPane = new GridPane();
  124.  
  125. gridPane.setAlignment(Pos.CENTER);
  126.  
  127. gridPane.setPadding(new Insets(40, 40, 40, 40));
  128.  
  129. gridPane.setHgap(10);
  130.  
  131. gridPane.setVgap(10);
  132.  
  133.  
  134. return gridPane;
  135. }
  136.  
  137. private void addUIControls(GridPane gridPane) {
  138. // Add Header
  139. Label headerLabel = new Label("Registration Form");
  140. headerLabel.setFont(Font.font("Arial", FontWeight.BOLD, 24));
  141. gridPane.add(headerLabel, 0,0,2,1);
  142. GridPane.setHalignment(headerLabel, HPos.CENTER);
  143. GridPane.setMargin(headerLabel, new Insets(20, 0,20,0));
  144.  
  145. // FULL NAME
  146. Label nameLabel = new Label("Full Name : ");
  147. gridPane.add(nameLabel, 0,1);
  148.  
  149. // FULL NAME TEXT
  150. TextField nameField = new TextField();
  151. nameField.setPrefHeight(40);
  152. gridPane.add(nameField, 1,1);
  153.  
  154.  
  155. // USERNAME
  156. Label emailLabel = new Label("Username : ");
  157. gridPane.add(emailLabel, 0, 2);
  158.  
  159. // EMAIL TEXT
  160. TextField emailField = new TextField();
  161. emailField.setPrefHeight(40);
  162. gridPane.add(emailField, 1, 2);
  163.  
  164. // PASSWORD
  165. Label passwordLabel = new Label("Password : ");
  166. gridPane.add(passwordLabel, 0, 3);
  167.  
  168. // PASSWORD TEXT
  169. PasswordField passwordField = new PasswordField();
  170. passwordField.setPrefHeight(40);
  171. gridPane.add(passwordField, 1, 3);
  172.  
  173. // SUBMIT BUTTON
  174. Button submitButton = new Button("Submit");
  175. submitButton.setPrefHeight(40);
  176. submitButton.setDefaultButton(true);
  177. submitButton.setPrefWidth(100);
  178. gridPane.add(submitButton, 0, 4, 2, 1);
  179. GridPane.setHalignment(submitButton, HPos.CENTER);
  180. GridPane.setMargin(submitButton, new Insets(20, 0,20,0));
  181.  
  182. submitButton.setOnAction(new EventHandler<ActionEvent>() {
  183. @Override
  184. public void handle(ActionEvent event) {
  185. if(nameField.getText().isEmpty()) {
  186. showAlert(Alert.AlertType.ERROR,
  187. gridPane.getScene().getWindow(), "Error", "Please enter your name.");
  188. return;
  189. }
  190. if(emailField.getText().isEmpty()) {
  191. showAlert(Alert.AlertType.ERROR,
  192. gridPane.getScene().getWindow(), "Error", "Please enter a Username");
  193. return;
  194. }
  195. if(passwordField.getText().isEmpty()) {
  196. showAlert(Alert.AlertType.ERROR,
  197. gridPane.getScene().getWindow(), "Error!", "Please enter a password");
  198. return;
  199. }
  200.  
  201. showAlert(Alert.AlertType.CONFIRMATION,
  202. gridPane.getScene().getWindow(), "Registration Successful!", "Welcome " +
  203. nameField.getText());
  204. }
  205. });
  206. }
  207.  
  208. private void showAlert(Alert.AlertType alertType, Window owner, String
  209. title, String message) {
  210. Alert alert = new Alert(alertType);
  211. alert.setTitle(title);
  212. alert.setHeaderText(null);
  213. alert.setContentText(message);
  214. alert.initOwner(owner);
  215. alert.show();
  216. }
  217.  
  218. public static void main(String[] args) {
  219. launch(args);
  220. }
  221. }
Add Comment
Please, Sign In to add comment