Skip to content

Certifiedmax/object-oriented-programming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

object-oriented-programming

import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException;

public class DBconnection {     public static Connection getConnection() {         Connection conn = null;         try {             Class.forName("com.mysql.cj.jdbc.Driver");             conn = DriverManager.getConnection(                 "jdbc:mysql://localhost:3306/registrationdb", "root", "");         } catch (ClassNotFoundException | SQLException e) {             System.out.println("Connection error: " + e);         }         return conn;     } }

/*  * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license  * Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template  */

/**  *  * @author nimrod  / import java.sql.; import javax.swing.*; import javax.swing.table.DefaultTableModel;

public class Form extends javax.swing.JFrame {

    /**      * Creates new form Form      */     public Form() {         initComponents();           populateComboBoxes();         fetchDataToTable();     }  private void populateComboBoxes() {         cbDay.removeAllItems();         cbMonth.removeAllItems();         cbYear.removeAllItems();

        for (int i = 1; i <= 31; i++) cbDay.addItem(String.valueOf(i));         for (int i = 1; i <= 12; i++) cbMonth.addItem(String.valueOf(i));         for (int i = 1980; i <= 2025; i++) cbYear.addItem(String.valueOf(i));     }

    private Connection getConnection() throws SQLException {         return DriverManager.getConnection("jdbc:mysql://localhost:3306/registrationdb", "root", "");     }

    private void fetchDataToTable() {          try {         DefaultTableModel model = (DefaultTableModel) users.getModel(); // ← users, not jTable1         model.setRowCount(0);

        Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/registrationdb", "root", "");         Statement st = con.createStatement();         ResultSet rs = st.executeQuery("SELECT * FROM Reg form");

        while (rs.next()) {             String name = rs.getString("Name");             String id = rs.getString("ID");             String mobile = rs.getString("Mobile");             String gender = rs.getString("Gender");             String dob = rs.getString("DOB");             String address = rs.getString("Address");

            model.addRow(new Object[]{name, id, mobile, gender, dob, address});         }

        con.close();     } catch (Exception e) {         JOptionPane.showMessageDialog(null, "Error loading table: " + e.getMessage());     }           }

        /**      * This method is called from within the constructor to initialize the form.      * WARNING: Do NOT modify this code. The content of this method is always      * regenerated by the Form Editor.      */     @SuppressWarnings("unchecked")     // //GEN-BEGIN:initComponents     private void initComponents() {

        buttonGroup1 = new javax.swing.ButtonGroup();         jLabel1 = new javax.swing.JLabel();         jLabel2 = new javax.swing.JLabel();         jLabel3 = new javax.swing.JLabel();         jLabel4 = new javax.swing.JLabel();         jLabel5 = new javax.swing.JLabel();         jLabel6 = new javax.swing.JLabel();         jLabel7 = new javax.swing.JLabel();         jTextField1 = new javax.swing.JTextField();         jTextField2 = new javax.swing.JTextField();         jTextField3 = new javax.swing.JTextField();         jRadioButton1 = new javax.swing.JRadioButton();         jRadioButton2 = new javax.swing.JRadioButton();         cbDay = new javax.swing.JComboBox<>();         cbMonth = new javax.swing.JComboBox<>();         cbYear = new javax.swing.JComboBox<>();         jTextField4 = new javax.swing.JTextField();         jScrollPane1 = new javax.swing.JScrollPane();         users = new javax.swing.JTable();         jLabel8 = new javax.swing.JLabel();         jCheckBox1 = new javax.swing.JCheckBox();         jButton1 = new javax.swing.JButton();         jButton2 = new javax.swing.JButton();         jButton3 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jLabel1.setFont(new java.awt.Font("Wide Latin", 3, 18)); // NOI18N         jLabel1.setText("REGISTRATION FORM");

        jLabel2.setFont(new java.awt.Font("Segoe UI", 3, 18)); // NOI18N         jLabel2.setText("Name");

        jLabel3.setFont(new java.awt.Font("Segoe UI", 3, 18)); // NOI18N         jLabel3.setText("ID");

        jLabel4.setFont(new java.awt.Font("Segoe UI", 3, 18)); // NOI18N         jLabel4.setText("Mobile");

        jLabel5.setFont(new java.awt.Font("Segoe UI", 3, 18)); // NOI18N         jLabel5.setText("Gender");

        jLabel6.setFont(new java.awt.Font("Segoe UI", 3, 18)); // NOI18N         jLabel6.setText("DOB");

        jLabel7.setFont(new java.awt.Font("Segoe UI", 3, 18)); // NOI18N         jLabel7.setText("Address");

        jTextField1.addActionListener(new java.awt.event.ActionListener() {             public void actionPerformed(java.awt.event.ActionEvent evt) {                 jTextField1ActionPerformed(evt);             }         });

        buttonGroup1.add(jRadioButton1);         jRadioButton1.setFont(new java.awt.Font("Segoe UI Semibold", 2, 14)); // NOI18N         jRadioButton1.setText("Male");

        buttonGroup1.add(jRadioButton2);         jRadioButton2.setFont(new java.awt.Font("Segoe UI Semibold", 2, 14)); // NOI18N         jRadioButton2.setText("Female");

        cbDay.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));

        cbMonth.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));

        cbYear.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));

        users.setModel(new javax.swing.table.DefaultTableModel(             new Object [][] {                 {null, null, null, null, null, null},                 {null, null, null, null, null, null},                 {null, null, null, null, null, null},                 {null, null, null, null, null, null}             },             new String [] {                 "Name", "ID", "Mobile", "Gender", "DOB", "Address"             }         ) {             Class[] types = new Class [] {                 java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class             };

            public Class getColumnClass(int columnIndex) {                 return types [columnIndex];             }         });         jScrollPane1.setViewportView(users);

        jLabel8.setFont(new java.awt.Font("Segoe UI", 2, 14)); // NOI18N         jLabel8.setForeground(new java.awt.Color(0, 0, 255));         jLabel8.setText("Accept terms and conditions");

        jCheckBox1.setText("jCheckBox1");

        jButton1.setFont(new java.awt.Font("Segoe UI Historic", 2, 18)); // NOI18N         jButton1.setText("Register");         jButton1.addActionListener(new java.awt.event.ActionListener() {             public void actionPerformed(java.awt.event.ActionEvent evt) {                 jButton1ActionPerformed(evt);             }         });

        jButton2.setFont(new java.awt.Font("Segoe UI Historic", 2, 18)); // NOI18N         jButton2.setText("Exit");         jButton2.addActionListener(new java.awt.event.ActionListener() {             public void actionPerformed(java.awt.event.ActionEvent evt) {                 jButton2ActionPerformed(evt);             }         });

        jButton3.setFont(new java.awt.Font("Segoe UI", 2, 18)); // NOI18N         jButton3.setText("Delete");         jButton3.addActionListener(new java.awt.event.ActionListener() {             public void actionPerformed(java.awt.event.ActionEvent evt) {                 jButton3ActionPerformed(evt);             }         });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());         getContentPane().setLayout(layout);         layout.setHorizontalGroup(             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)             .addGroup(layout.createSequentialGroup()                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)                     .addGroup(layout.createSequentialGroup()                         .addGap(94, 94, 94)                         .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 425, javax.swing.GroupLayout.PREFERRED_SIZE))                     .addGroup(layout.createSequentialGroup()                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)                             .addGroup(layout.createSequentialGroup()                                 .addContainerGap()                                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)                                     .addGroup(layout.createSequentialGroup()                                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)                                             .addComponent(jLabel4)                                             .addComponent(jLabel6))                                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)                                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)                                             .addComponent(jTextField3)                                             .addGroup(layout.createSequentialGroup()                                                 .addComponent(cbDay, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)                                                 .addGap(18, 18, 18)                                                 .addComponent(cbMonth, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)                                                 .addGap(18, 18, 18)                                                 .addComponent(cbYear, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)                                                 .addGap(0, 36, Short.MAX_VALUE))))                                     .addGroup(layout.createSequentialGroup()                                         .addComponent(jLabel7)                                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)                                         .addComponent(jTextField4))                                     .addGroup(layout.createSequentialGroup()                                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)                                             .addGroup(layout.createSequentialGroup()                                                 .addComponent(jLabel5)                                                 .addGap(26, 26, 26)                                                 .addComponent(jRadioButton1)                                                 .addGap(18, 18, 18)                                                 .addComponent(jRadioButton2))                                             .addGroup(layout.createSequentialGroup()                                                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)                                                     .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 56, javax.swing.GroupLayout.PREFERRED_SIZE)                                                     .addComponent(jLabel3))                                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)                                                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)                                                     .addComponent(jTextField1)                                                     .addComponent(jTextField2, javax.swing.GroupLayout.DEFAULT_SIZE, 287, Short.MAX_VALUE))))                                         .addGap(0, 0, Short.MAX_VALUE))                                     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()                                         .addGap(0, 0, Short.MAX_VALUE)                                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)                                             .addGroup(layout.createSequentialGroup()                                                 .addComponent(jButton1)                                                 .addGap(33, 33, 33)                                                 .addComponent(jButton2))                                             .addGroup(layout.createSequentialGroup()                                                 .addComponent(jCheckBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)                                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)                                                 .addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE)))                                         .addGap(57, 57, 57)))                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED))                             .addGroup(layout.createSequentialGroup()                                 .addGap(123, 123, 123)                                 .addComponent(jButton3)                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))                         .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))         );         layout.setVerticalGroup(             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)             .addGroup(layout.createSequentialGroup()                 .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)                     .addGroup(layout.createSequentialGroup()                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)                             .addComponent(jLabel2)                             .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)                             .addComponent(jLabel3)                             .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)                             .addComponent(jLabel4)                             .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)                             .addComponent(jLabel5)                             .addComponent(jRadioButton1)                             .addComponent(jRadioButton2))                         .addGap(27, 27, 27)                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)                             .addComponent(jLabel6)                             .addComponent(cbDay, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)                             .addComponent(cbMonth, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)                             .addComponent(cbYear, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))                         .addGap(25, 25, 25)                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)                             .addComponent(jLabel7)                             .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))                         .addGap(18, 18, 18)                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)                             .addComponent(jLabel8)                             .addComponent(jCheckBox1))                         .addGap(18, 18, 18)                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)                             .addComponent(jButton1)                             .addComponent(jButton2))                         .addGap(29, 29, 29)                         .addComponent(jButton3))                     .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))                 .addGap(0, 148, Short.MAX_VALUE))         );

        pack();     }// //GEN-END:initComponents

    private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField1ActionPerformed  System.out.println("Name entered: " + jTextField1.getText());        // TODO add your handling code here:     }//GEN-LAST:event_jTextField1ActionPerformed

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed         // TODO add your handling code here:          String name = jTextField1.getText();     String id = jTextField2.getText();     String mobile = jTextField3.getText();     String gender = jRadioButton1.isSelected() ? "Male" : "Female";     String day = cbDay.getSelectedItem().toString();     String month = cbMonth.getSelectedItem().toString();     String year = cbYear.getSelectedItem().toString();     String dob = year + "-" + month + "-" + day;  // ✅ Correct MySQL DATE format     String address = jTextField4.getText();

    if (!jCheckBox1.isSelected()) {         JOptionPane.showMessageDialog(this, "Please accept the terms and conditions.");         return;     }

    try {         Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/registrationdb", "root", "");         String sql = "INSERT INTO Reg form (Name, ID, Mobile, Gender, DOB, Address) VALUES (?, ?, ?, ?, ?, ?)";         PreparedStatement pst = con.prepareStatement(sql);         pst.setString(1, name);         pst.setString(2, id);         pst.setString(3, mobile);         pst.setString(4, gender);         pst.setString(5, dob);  // ✅ Proper format         pst.setString(6, address);

        int rowsInserted = pst.executeUpdate();         if (rowsInserted > 0) {             JOptionPane.showMessageDialog(this, "User registered successfully!");             fetchDataToTable();  // ✅ Update table after successful registration         }

        con.close();     } catch (Exception e) {         JOptionPane.showMessageDialog(this, "Database error: " + e.getMessage());     }    

    }//GEN-LAST:event_jButton1ActionPerformed

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed         // TODO add your handling code here:         System.exit(0);     }//GEN-LAST:event_jButton2ActionPerformed

    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed         // TODO  int selectedRow = users.getSelectedRow();     int selectedRow = users.getSelectedRow();  // Fix: Declare this first!

    if (selectedRow == -1) {         JOptionPane.showMessageDialog(this, "Please select a row to delete.");         return;     }

    String id = users.getValueAt(selectedRow, 1).toString(); // Column 1 is ID

    int confirm = JOptionPane.showConfirmDialog(this, "Are you sure you want to delete this user?", "Confirm Delete", JOptionPane.YES_NO_OPTION);     if (confirm != JOptionPane.YES_OPTION) return;

    try {         Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/registrationdb", "root", "");         String sql = "DELETE FROM Reg form WHERE ID = ?";         PreparedStatement pst = con.prepareStatement(sql);         pst.setString(1, id);

        int rowsDeleted = pst.executeUpdate();         if (rowsDeleted > 0) {             JOptionPane.showMessageDialog(this, "User deleted successfully.");             fetchDataToTable(); // Refresh the table after deletion         } else {             JOptionPane.showMessageDialog(this, "User not found.");         }

        con.close();     } catch (Exception e) {         JOptionPane.showMessageDialog(this, "Error deleting user: " + e.getMessage());     }     }//GEN-LAST:event_jButton3ActionPerformed

    /**      * @param args the command line arguments      /     public static void main(String args[]) {         / Set the Nimbus look and feel /         //         / If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html          */         try {             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {                 if ("Nimbus".equals(info.getName())) {                     javax.swing.UIManager.setLookAndFeel(info.getClassName());                     break;                 }             }         } catch (ClassNotFoundException ex) {             java.util.logging.Logger.getLogger(Form.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);         } catch (InstantiationException ex) {             java.util.logging.Logger.getLogger(Form.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);         } catch (IllegalAccessException ex) {             java.util.logging.Logger.getLogger(Form.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);         } catch (javax.swing.UnsupportedLookAndFeelException ex) {             java.util.logging.Logger.getLogger(Form.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);         }         //

        /* Create and display the form */         java.awt.EventQueue.invokeLater(new Runnable() {             public void run() {                 new Form().setVisible(true);             }         });     }

    // Variables declaration - do not modify//GEN-BEGIN:variables     private javax.swing.ButtonGroup buttonGroup1;     private javax.swing.JComboBox cbDay;     private javax.swing.JComboBox cbMonth;     private javax.swing.JComboBox cbYear;     private javax.swing.JButton jButton1;     private javax.swing.JButton jButton2;     private javax.swing.JButton jButton3;     private javax.swing.JCheckBox jCheckBox1;     private javax.swing.JLabel jLabel1;     private javax.swing.JLabel jLabel2;     private javax.swing.JLabel jLabel3;     private javax.swing.JLabel jLabel4;     private javax.swing.JLabel jLabel5;     private javax.swing.JLabel jLabel6;     private javax.swing.JLabel jLabel7;     private javax.swing.JLabel jLabel8;     private javax.swing.JRadioButton jRadioButton1;     private javax.swing.JRadioButton jRadioButton2;     private javax.swing.JScrollPane jScrollPane1;     private javax.swing.JTextField jTextField1;     private javax.swing.JTextField jTextField2;     private javax.swing.JTextField jTextField3;     private javax.swing.JTextField jTextField4;     public javax.swing.JTable users;     // End of variables declaration//GEN-END:variables }

About

linear Regression model for analyzing road accident severity

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published