Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package registration;
- import javafx.geometry.Pos;
- import javafx.application.Application;
- import javafx.beans.value.ChangeListener;
- import javafx.beans.value.ObservableValue;
- import javafx.event.ActionEvent;
- import javafx.event.EventHandler;
- import javafx.scene.Scene;
- import javafx.scene.control.Button;
- import javafx.scene.control.Label;
- import javafx.scene.control.PasswordField;
- import javafx.scene.control.TextField;
- import javafx.scene.layout.GridPane;
- import javafx.scene.layout.HBox;
- import javafx.scene.text.Text;
- import javafx.stage.Stage;
- /**
- *
- * @author PC
- */
- public class Registration extends Application {
- boolean usernameSet;
- boolean pwSet;
- boolean emailSet;
- @Override
- public void start(Stage primaryStage) {
- primaryStage.setTitle("Registration");
- GridPane grid = new GridPane();
- grid.setAlignment(Pos.CENTER);
- grid.setHgap(10);
- grid.setVgap(5);
- Text scenetitle = new Text("create your account");
- scenetitle.setId("create-text");
- grid.add(scenetitle, 0, 0, 2, 1);
- Label userNameLabel = new Label("USERNAME");
- userNameLabel.setId("user-text");
- grid.add(userNameLabel, 0, 1);
- TextField userName = new TextField();
- userName.setId("userName");
- grid.add(userName, 0, 2);
- Label emailLabel = new Label("E-MAIL ADDRESS");
- emailLabel.setId("email-text");
- grid.add(emailLabel, 0, 3);
- TextField email = new TextField();
- userName.setId("email");
- grid.add(email, 0, 4);
- Label pwLabel = new Label("PASSWORD");
- pwLabel.setId("pw-text");
- grid.add(pwLabel, 0, 5);
- PasswordField password = new PasswordField();
- password.setId("password");
- grid.add(password, 0, 6);
- Button btn = new Button("Sign Up");
- btn.setId("button");
- btn.setDisable(true);
- HBox hbBtn = new HBox(10);
- hbBtn.setAlignment(Pos.BOTTOM_LEFT);
- hbBtn.getChildren().add(btn);
- grid.add(hbBtn, 0, 7);
- final Text actiontarget = new Text();
- grid.add(actiontarget, 1, 6);
- actiontarget.setId("actiontarget");
- btn.setOnAction(new EventHandler<ActionEvent>() {
- @Override
- public void handle(ActionEvent e) {
- System.out.print(String.format("%s, %s, %s", userName.getText(), email.getText(), password.getText()));
- }
- });
- Text downunder = new Text("By clicking 'Sign Up' above, you confirm that you");
- Text downunder2 = new Text("accept Terms of Use.");
- grid.add(downunder, 0, 8,2,1);
- grid.add(downunder2, 0, 9,2,1);
- downunder.setId("downunder");
- downunder2.setId("downunder");
- userName.textProperty().addListener(new ChangeListener<String>() {
- @Override
- public void changed(final ObservableValue<? extends String> observable, final String oldValue, final String newValue) {
- if(userName.getText().length() >= 5)
- usernameSet = true;
- if(userName.getText().length() < 5)
- usernameSet = false;
- if(usernameSet && pwSet && emailSet)
- btn.setDisable(false);
- if(!usernameSet || !pwSet || !emailSet)
- btn.setDisable(true);
- }
- });
- password.textProperty().addListener(new ChangeListener<String>() {
- @Override
- public void changed(final ObservableValue<? extends String> observable, final String oldValue, final String newValue) {
- if(password.getText().matches("^.*[a-zA-Z].*$") && password.getText().matches("^.*[^\\w\\d\\s].*$") && password.getText().matches("^.*\\d.*$"))
- pwSet = true;
- else
- pwSet = false;
- if(usernameSet && pwSet && emailSet)
- btn.setDisable(false);
- if(!usernameSet || !pwSet || !emailSet)
- btn.setDisable(true);
- }
- });
- email.textProperty().addListener(new ChangeListener<String>() {
- @Override
- public void changed(final ObservableValue<? extends String> observable, final String oldValue, final String newValue) {
- if(email.getText().length() >= 6 && email.getText().matches("^[^@]*@[^@]*\\.[^@]*$"))
- emailSet = true;
- else
- emailSet = false;
- if(usernameSet && pwSet && emailSet)
- btn.setDisable(false);
- if(!usernameSet || !pwSet || !emailSet)
- btn.setDisable(true);
- }
- });
- Scene scene = new Scene(grid, 300, 275);
- primaryStage.setScene(scene);
- scene.getStylesheets().add
- (Registration.class.getResource("Registration.css").toExternalForm());
- primaryStage.show();
- }
- /**
- * @param args the command line arguments
- */
- public static void main(String[] args) {
- launch(args);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement