Advertisement
Guest User

Untitled

a guest
Jan 9th, 2017
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.11 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package registration;
  7.  
  8. import javafx.application.Application;
  9. import javafx.beans.InvalidationListener;
  10. import javafx.beans.value.ChangeListener;
  11. import javafx.beans.value.ObservableValue;
  12. import javafx.event.ActionEvent;
  13. import javafx.event.EventHandler;
  14. import javafx.geometry.Insets;
  15. import javafx.geometry.Pos;
  16. import javafx.scene.Scene;
  17. import javafx.scene.control.Button;
  18. import javafx.scene.control.Label;
  19. import javafx.scene.control.PasswordField;
  20. import javafx.scene.control.TextField;
  21. import javafx.scene.layout.GridPane;
  22. import javafx.scene.layout.HBox;
  23. import javafx.scene.text.Text;
  24. import javafx.stage.Stage;
  25. import javax.swing.event.DocumentEvent;
  26.  
  27. public class Registration extends Application {
  28.     boolean usernameSet;
  29.     boolean pwSet;  
  30.     boolean emailSet;
  31.  
  32.     public static void main(String[] args) {
  33.         launch(args);
  34.     }
  35.  
  36.     @Override
  37.     public void start(Stage primaryStage) {
  38.         primaryStage.setTitle("Registration");
  39.         GridPane grid = new GridPane();
  40.         grid.setAlignment(Pos.CENTER);
  41.         grid.setHgap(10);
  42.         grid.setVgap(10);
  43.         grid.setPadding(new Insets(25, 25, 25, 25));
  44.  
  45.         Text scenetitle = new Text("Welcome");
  46.         scenetitle.setId("welcome-text");
  47.         grid.add(scenetitle, 0, 0, 2, 1);
  48.  
  49.         Label userName = new Label("User Name:");
  50.         grid.add(userName, 0, 1);
  51.  
  52.         TextField userTextField = new TextField();
  53.         userTextField.setId("userName");
  54.         grid.add(userTextField, 1, 1);
  55.        
  56.        
  57.         Label pw = new Label("Password:");
  58.         grid.add(pw, 0, 2);
  59.  
  60.         PasswordField pwBox = new PasswordField();
  61.         pwBox.setId("password");
  62.         grid.add(pwBox, 1, 2);
  63.        
  64.         Label eMail = new Label("E-Mail:");
  65.         grid.add(eMail, 0, 3);
  66.  
  67.         TextField eMailField = new TextField();
  68.         eMailField.setId("email");
  69.         grid.add(eMailField, 1, 3);
  70.  
  71.         Button btn = new Button("Sign in");
  72.         btn.setId("button");
  73.         btn.setDisable(true);
  74.         HBox hbBtn = new HBox(10);
  75.         hbBtn.setAlignment(Pos.BOTTOM_RIGHT);
  76.         hbBtn.getChildren().add(btn);
  77.         grid.add(hbBtn, 1, 4);
  78.  
  79.         final Text actiontarget = new Text();
  80.         grid.add(actiontarget, 1, 6);
  81.         actiontarget.setId("actiontarget");
  82.        
  83.  
  84.        
  85.         userTextField.textProperty().addListener(new ChangeListener<String>() {
  86.             @Override
  87.             public void changed(final ObservableValue<? extends String> observable, final String oldValue, final String newValue) {
  88.                 if(userTextField.getText().length() >= 5)
  89.                     usernameSet = true;
  90.                 if(userTextField.getText().length() < 5)
  91.                     usernameSet = false;
  92.                
  93.                 if(usernameSet && pwSet && emailSet)
  94.                     btn.setDisable(false);
  95.                
  96.                 if(!usernameSet || !pwSet || !emailSet)
  97.                     btn.setDisable(true);
  98.             }
  99.         });
  100.        
  101.         pwBox.textProperty().addListener(new ChangeListener<String>() {
  102.             @Override
  103.             public void changed(final ObservableValue<? extends String> observable, final String oldValue, final String newValue) {
  104.                 if(pwBox.getText().matches("^.*[a-zA-Z].*$") && pwBox.getText().matches("^.*[^\\w\\d\\s].*$") && pwBox.getText().matches("^.*\\d.*$"))
  105.                     pwSet = true;
  106.                 else
  107.                     pwSet = false;
  108.                
  109.                 if(usernameSet && pwSet && emailSet)
  110.                     btn.setDisable(false);
  111.                 if(!usernameSet || !pwSet || !emailSet)
  112.                     btn.setDisable(true);
  113.                
  114.             }
  115.         });
  116.        
  117.         eMailField.textProperty().addListener(new ChangeListener<String>() {
  118.             @Override
  119.             public void changed(final ObservableValue<? extends String> observable, final String oldValue, final String newValue) {
  120.                 if(eMailField.getText().length() >= 6 && eMailField.getText().matches("^[^@]*@[^@]*\\.[^@]*$"))
  121.                     emailSet = true;
  122.                 else
  123.                     emailSet = false;
  124.                
  125.                 if(usernameSet && pwSet && emailSet)
  126.                     btn.setDisable(false);
  127.                 if(!usernameSet || !pwSet || !emailSet)
  128.                     btn.setDisable(true);
  129.                
  130.             }
  131.         });
  132.        
  133.        
  134.        
  135.  
  136.  
  137.         btn.setOnAction(new EventHandler<ActionEvent>() {
  138.  
  139.             @Override
  140.             public void handle(ActionEvent e) {
  141.                 actiontarget.setText("Sign in button pressed");
  142.             }
  143.         });
  144.  
  145.  
  146.         Scene scene = new Scene(grid, 300, 275);
  147.         primaryStage.setScene(scene);
  148.         scene.getStylesheets().add(Registration.class.getResource("Login.css").toExternalForm());
  149.         primaryStage.show();
  150.     }
  151. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement