Advertisement
Guest User

Untitled

a guest
Jun 6th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.31 KB | None | 0 0
  1. package view;
  2.  
  3. import java.util.regex.Matcher;
  4. import java.util.regex.Pattern;
  5.  
  6. import controller.databaseConnection;
  7. import javafx.event.ActionEvent;
  8. import javafx.event.EventHandler;
  9. import javafx.scene.Scene;
  10. import javafx.scene.control.Button;
  11. import javafx.scene.control.PasswordField;
  12. import javafx.scene.control.TextField;
  13. import javafx.scene.layout.Pane;
  14. import javafx.scene.paint.Color;
  15. import javafx.scene.text.Text;
  16. import javafx.stage.Stage;
  17. import model.Player;
  18.  
  19. public class RegisterScreen extends Gui {
  20. Pane registerPane = new Pane();
  21. Scene registerScene = new Scene(registerPane, 600, 400);
  22. TextField usernameField = new TextField();
  23. PasswordField userPasswordField = new PasswordField();
  24. Pane loginPane = new Pane();
  25. MainMenuScreen menu;
  26.  
  27.  
  28. public void makeRegisterScreen(Stage primaryStage) {
  29. registerPane.getStyleClass().add("loginAndRegister");
  30. primaryStage.centerOnScreen();
  31. registerScene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
  32. registerPane.getStyleClass().add("paneWithWallpaper");
  33. primaryStage.setScene(registerScene);
  34. Text warningText = new Text();
  35. registerPane.getChildren().add(warningText);
  36. warningText.setTranslateX(320);
  37. warningText.setTranslateY(125);
  38. warningText.setWrappingWidth(200);
  39. warningText.setFill(Color.RED);
  40.  
  41. registerPane.getChildren().add(usernameField);
  42. usernameField.setPromptText("Naam");
  43. usernameField.setTranslateX(100);
  44. usernameField.setTranslateY(100);
  45. usernameField.setPrefSize(200, 50);
  46. registerPane.getChildren().add(userPasswordField);
  47. userPasswordField.setPromptText("Wachtwoord");
  48. userPasswordField.setTranslateX(100);
  49. userPasswordField.setTranslateY(200);
  50. userPasswordField.setPrefSize(200, 50);
  51.  
  52. databaseConnection dbcon = new databaseConnection("jdbc:mysql://databases.aii.avans.nl/sficken_db", "sficken",
  53. "Ab12345");
  54. Button finishRegistrationButton = new Button("Registreren");
  55. finishRegistrationButton.getStyleClass().add("button");
  56. setGlobalEventHandler(registerPane, finishRegistrationButton);
  57. registerPane.getChildren().add(finishRegistrationButton);
  58. finishRegistrationButton.setPrefSize(150, 40);
  59. finishRegistrationButton.setTranslateX(450);
  60. finishRegistrationButton.setTranslateY(350);
  61. finishRegistrationButton.setOnAction(new EventHandler<ActionEvent>() {
  62. @Override
  63. public void handle(ActionEvent event) {
  64.  
  65. Pattern p = Pattern.compile("[^a-z0-9 ]", Pattern.CASE_INSENSITIVE);
  66. Matcher m = p.matcher(usernameField.getText());
  67.  
  68. if (!usernameField.getText().trim().isEmpty() && !userPasswordField.getText().trim().isEmpty()
  69. && usernameField.getText().length() <= 25 && userPasswordField.getText().length() <= 25 && dbcon
  70. .select("SELECT username FROM account WHERE username='" + usernameField.getText() + "'",
  71. "username")
  72. .isEmpty() && !m.matches() && (usernameField.getText().length() >= 3)) {
  73. dbcon.insert("INSERT INTO account VALUES ('" + usernameField.getText() + "' , '"
  74. + userPasswordField.getText() + "')");
  75. player.setName(usernameField.getText());
  76. menu = new MainMenuScreen();
  77. menu.makeMainMenuScreen(primaryStage);
  78.  
  79. loginPane.getChildren().add(usernameField);
  80. loginPane.getChildren().add(userPasswordField);
  81. warningText.setText(" ");
  82. usernameField.getStyleClass().removeAll("redTextField");
  83. userPasswordField.getStyleClass().removeAll("redTextField");
  84. } else if (!dbcon
  85. .select("SELECT username FROM account WHERE username='" + usernameField.getText() + "'",
  86. "username")
  87. .isEmpty()) {
  88. usernameField.getStyleClass().add("redTextField");
  89. warningText.setText("Deze gebruikersnaam is al in gebruik");
  90.  
  91. } else if (usernameField.getText().length() > 25) {
  92. usernameField.getStyleClass().add("redTextField");
  93. warningText.setWrappingWidth(200);
  94. warningText.setText("Gebruikersnaam moet minder dan 25 karakters zijn");
  95. }
  96.  
  97. else if (m.find()) {
  98. warningText.setText("Gebruikersnaam mag geen speciale karakters bevatten.");
  99. System.out.println("CHARACTER DETECTED");
  100. usernameField.getStyleClass().add("redTextField");
  101. } else if (usernameField.getText().length() < 3) {
  102. warningText.setText("Gebruikersnaam moet op zijn minst 3 lang zijn.");
  103. System.out.println("TOO SHORT");
  104. usernameField.getStyleClass().add("redTextField");
  105. }
  106.  
  107.  
  108. else {
  109. if (usernameField.getText().trim().isEmpty()) {
  110. usernameField.getStyleClass().add("redTextField");
  111. }
  112. if (userPasswordField.getText().trim().isEmpty()) {
  113. userPasswordField.getStyleClass().add("redTextField");
  114. }
  115. }
  116.  
  117. }
  118. });
  119. Button backButton = new Button("Terug");
  120. backButton.getStyleClass().add("button");
  121. registerPane.getChildren().add(backButton);
  122. backButton.setPrefSize(150, 40);
  123. backButton.setTranslateX(0);
  124. backButton.setTranslateY(350);
  125. backButton.setOnAction(new EventHandler<ActionEvent>() {
  126.  
  127. @Override
  128. public void handle(ActionEvent event) {
  129. login = new LoginScreen();
  130. login.makeLoginScreen(primaryStage);
  131. usernameField.setStyle(null);
  132. userPasswordField.setStyle(null);
  133.  
  134. }
  135. });
  136.  
  137. primaryStage.show();
  138. primaryStage.setFullScreen(false);
  139. primaryStage.setResizable(false);
  140. }
  141.  
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement