Advertisement
Guest User

grid

a guest
Jan 9th, 2017
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.50 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.geometry.Pos;
  9. import javafx.application.Application;
  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.scene.Scene;
  15. import javafx.scene.control.Button;
  16. import javafx.scene.control.Label;
  17. import javafx.scene.control.PasswordField;
  18. import javafx.scene.control.TextField;
  19. import javafx.scene.layout.GridPane;
  20. import javafx.scene.layout.HBox;
  21. import javafx.scene.text.Text;
  22. import javafx.stage.Stage;
  23.  
  24. /**
  25.  *
  26.  * @author PC
  27.  */
  28.  
  29. public class Registration extends Application {
  30.    
  31.     boolean usernameSet;
  32.     boolean pwSet;  
  33.     boolean emailSet;
  34.    
  35.     @Override
  36.     public void start(Stage primaryStage) {
  37.         primaryStage.setTitle("Registration");
  38.         GridPane grid = new GridPane();
  39.         grid.setAlignment(Pos.CENTER);
  40.         grid.setHgap(10);
  41.         grid.setVgap(5);
  42.  
  43.         Text scenetitle = new Text("create your account");
  44.         scenetitle.setId("create-text");
  45.         grid.add(scenetitle, 0, 0, 2, 1);
  46.  
  47.         Label userNameLabel = new Label("USERNAME");
  48.         userNameLabel.setId("user-text");
  49.         grid.add(userNameLabel, 0, 1);
  50.  
  51.         TextField userName = new TextField();
  52.         userName.setId("userName");
  53.         grid.add(userName, 0, 2);
  54.        
  55.         Label emailLabel = new Label("E-MAIL ADDRESS");
  56.         emailLabel.setId("email-text");
  57.         grid.add(emailLabel, 0, 3);
  58.  
  59.         TextField email = new TextField();
  60.         userName.setId("email");
  61.         grid.add(email, 0, 4);
  62.  
  63.         Label pwLabel = new Label("PASSWORD");
  64.         pwLabel.setId("pw-text");
  65.         grid.add(pwLabel, 0, 5);
  66.  
  67.         PasswordField password = new PasswordField();
  68.         password.setId("password");
  69.         grid.add(password, 0, 6);
  70.  
  71.         Button btn = new Button("Sign Up");
  72.         btn.setId("button");
  73.         btn.setDisable(true);
  74.         HBox hbBtn = new HBox(10);
  75.         hbBtn.setAlignment(Pos.BOTTOM_LEFT);
  76.         hbBtn.getChildren().add(btn);
  77.         grid.add(hbBtn, 0, 7);
  78.  
  79.         final Text actiontarget = new Text();
  80.         grid.add(actiontarget, 1, 6);
  81.         actiontarget.setId("actiontarget");
  82.        
  83.        
  84.  
  85.         btn.setOnAction(new EventHandler<ActionEvent>() {
  86.  
  87.             @Override
  88.             public void handle(ActionEvent e) {
  89.                 System.out.print(String.format("%s, %s, %s", userName.getText(), email.getText(), password.getText()));
  90.             }
  91.         });
  92.        
  93.         Text downunder = new Text("By clicking 'Sign Up' above, you confirm that you");
  94.         Text downunder2 = new Text("accept Terms of Use.");
  95.         grid.add(downunder, 0, 8,2,1);
  96.         grid.add(downunder2, 0, 9,2,1);
  97.         downunder.setId("downunder");
  98.         downunder2.setId("downunder");
  99.        
  100.         userName.textProperty().addListener(new ChangeListener<String>() {
  101.             @Override
  102.             public void changed(final ObservableValue<? extends String> observable, final String oldValue, final String newValue) {
  103.                 if(userName.getText().length() >= 5)
  104.                     usernameSet = true;
  105.                 if(userName.getText().length() < 5)
  106.                     usernameSet = false;
  107.                
  108.                 if(usernameSet && pwSet && emailSet)
  109.                     btn.setDisable(false);
  110.                
  111.                 if(!usernameSet || !pwSet || !emailSet)
  112.                     btn.setDisable(true);
  113.             }
  114.         });
  115.        
  116.         password.textProperty().addListener(new ChangeListener<String>() {
  117.             @Override
  118.             public void changed(final ObservableValue<? extends String> observable, final String oldValue, final String newValue) {
  119.                 if(password.getText().matches("^.*[a-zA-Z].*$") && password.getText().matches("^.*[^\\w\\d\\s].*$") && password.getText().matches("^.*\\d.*$"))
  120.                     pwSet = true;
  121.                 else
  122.                     pwSet = false;
  123.                
  124.                 if(usernameSet && pwSet && emailSet)
  125.                     btn.setDisable(false);
  126.                 if(!usernameSet || !pwSet || !emailSet)
  127.                     btn.setDisable(true);
  128.                
  129.             }
  130.         });
  131.        
  132.         email.textProperty().addListener(new ChangeListener<String>() {
  133.             @Override
  134.             public void changed(final ObservableValue<? extends String> observable, final String oldValue, final String newValue) {
  135.                 if(email.getText().length() >= 6 && email.getText().matches("^[^@]*@[^@]*\\.[^@]*$"))
  136.                     emailSet = true;
  137.                 else
  138.                     emailSet = false;
  139.                
  140.                 if(usernameSet && pwSet && emailSet)
  141.                     btn.setDisable(false);
  142.                 if(!usernameSet || !pwSet || !emailSet)
  143.                     btn.setDisable(true);
  144.                
  145.             }
  146.         });
  147.  
  148.         Scene scene = new Scene(grid, 300, 275);
  149.         primaryStage.setScene(scene);
  150.         scene.getStylesheets().add
  151.         (Registration.class.getResource("Registration.css").toExternalForm());
  152.         primaryStage.show();
  153.     }
  154.  
  155.     /**
  156.      * @param args the command line arguments
  157.      */
  158.     public static void main(String[] args) {
  159.         launch(args);
  160.     }
  161.    
  162. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement