Advertisement
coffeebeforecode

Javafx + JDBC

Apr 26th, 2022
892
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.49 KB | None | 0 0
  1. import java.time.LocalDate;
  2. import java.util.Calendar;
  3.  
  4. import javafx.application.Application;
  5. import javafx.event.ActionEvent;
  6. import javafx.event.EventHandler;
  7. import javafx.geometry.Pos;
  8. import javafx.stage.Stage;
  9. import javafx.scene.Group;
  10. import javafx.scene.Scene;
  11. import javafx.scene.control.*;
  12. import javafx.scene.layout.GridPane;
  13. import javafx.scene.layout.HBox;
  14. import javafx.scene.layout.VBox;
  15. import javafx.scene.paint.Color;
  16. import javafx.scene.text.Font;
  17.  
  18. import java.lang.Thread.State;
  19. import java.sql.*;
  20.  
  21. public class Devansh_JavaFx_JDBC extends Application{
  22.  
  23.     public static void main(String[] args) {
  24.         // TODO Auto-generated method stub
  25.         launch();
  26.     }
  27.  
  28.     @Override
  29.     public void start(Stage primaryStage) throws Exception {
  30.         // TODO Auto-generated method stub
  31.         primaryStage.setTitle("Registration Form");
  32.         GridPane root = new GridPane();
  33.         root.setHgap(15);
  34.         root.setVgap(15);
  35.        
  36.         Label lb_name = new Label("Name:");
  37.         TextField name = new TextField();
  38.         root.add(lb_name, 1,1);
  39.         root.add(name, 2,1);
  40.        
  41.         Label lb_email = new Label("Email:");
  42.         //lb_email.setFont(new Font(20));
  43.         //lb_email.setTextFill(Color.RED);
  44.         TextField email = new TextField();
  45.         root.add(lb_email, 1,2);
  46.         root.add(email, 2,2);
  47.        
  48.         Label lb_password = new Label("Password:");
  49.         PasswordField password = new PasswordField();
  50.         root.add(lb_password, 1,3);
  51.         root.add(password, 2,3);
  52.        
  53.         Label lb_date = new Label("Birthdate");
  54.         DatePicker date = new DatePicker();
  55.         root.add(lb_date, 1, 4);
  56.         root.add(date, 2, 4);
  57.        
  58.         Label lb_country = new Label("Country:");
  59.         ComboBox<String> country = new ComboBox<String>();
  60.         country.getItems().add("India");
  61.         country.getItems().add("USA");
  62.         country.getItems().add("UK");
  63.         country.getItems().add("Africa");
  64.         country.getItems().add("Australia");
  65.         country.setEditable(true);
  66.         root.add(lb_country, 1,5);
  67.         root.add(country, 2,5);
  68.        
  69.        
  70.         Label lb_gender = new Label("Gender");
  71.         ToggleGroup gender_group = new ToggleGroup();
  72.         RadioButton male = new RadioButton("Male");
  73.         RadioButton female = new RadioButton("Female");
  74.         RadioButton other = new RadioButton("Other");
  75.         male.setSelected(true);
  76.         male.setToggleGroup(gender_group);
  77.         female.setToggleGroup(gender_group);
  78.         other.setToggleGroup(gender_group);
  79.        
  80.         root.add(lb_gender, 1, 6, 1, 3);
  81.         root.add(male, 2, 6);
  82.         root.add(female, 2, 7);
  83.         root.add(other, 2, 8);
  84.        
  85.         Button submit = new Button("Submit");
  86.         root.add(submit, 2, 9);
  87.        
  88.         Label messg = new Label();
  89.         root.add(messg, 1, 10, 2, 1);
  90.        
  91.         submit.setOnAction(new EventHandler<ActionEvent>() {
  92.            
  93.             @Override
  94.             public void handle(ActionEvent event) {
  95.                 String textToSet = "";
  96.                 boolean flag = true;
  97.                 // TODO Auto-generated method stub
  98.                 if (name.getText().isEmpty()) {
  99.                     textToSet += "Name cannot be empty!\n";
  100.                     flag = false;
  101.                 }
  102.                 if (email.getText().isEmpty()) {
  103.                     textToSet += "Email cannot be empty!\n";
  104.                     flag = false;
  105.                 }
  106.                 if (password.getText().length() < 8) {
  107.                     textToSet += "Password cannot be less than 8 characters!\n";
  108.                     flag = false;
  109.                 }
  110.                 if (date.getValue() == null) {
  111.                     textToSet += "Enter a valid date!\n";
  112.                     flag = false;
  113.                 }
  114.                 if (country.getValue() == null) {
  115.                     textToSet += "Enter a Country!\n";
  116.                     flag = false;
  117.                 }
  118.                 if (flag == true) {
  119.                     String SelectedGender = ((RadioButton)gender_group.getSelectedToggle()).getText();
  120.                     try {
  121.                         addToJCBC(name.getText(), email.getText(), password.getText(), date.getValue().toString(), country.getValue().toString(), SelectedGender);
  122.                     } catch (Exception e) {
  123.                         // TODO Auto-generated catch block
  124.                         e.printStackTrace();
  125.                     }
  126.                     textToSet = "Accepted!";
  127.                 }
  128.                
  129.                 messg.setText(textToSet);
  130.             }
  131.         });
  132.        
  133.         Scene sc = new Scene(root);
  134.        
  135.         primaryStage.setScene(sc);
  136.         primaryStage.setWidth(500);
  137.         primaryStage.setHeight(800);
  138.         primaryStage.show();
  139.     }
  140.    
  141.     void addToJCBC(String name, String email, String password, String date, String country, String gender) throws Exception{
  142.         try {
  143.             Connection con;
  144.             Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
  145.             con = DriverManager.getConnection("jdbc:mysql://localhost:3307/test", "root", "");
  146.             Statement stmt = con.createStatement();
  147.             stmt.executeUpdate("insert into form values('"+name+"', '"+email+"', '"+password+"', '"+date+"', '"+country+"', '"+gender+"');");
  148.             stmt.close();
  149.             con.close();
  150.         }
  151.         catch (Exception e) {
  152.             // TODO: handle exception
  153.         }
  154.     }
  155.    
  156. }
  157.  
  158.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement